home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / envCPP31 / c++ / tools / cprefs / source / gccprefs.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-01-01  |  69.3 KB  |  2,615 lines

  1. /*
  2.  *  Source machine generated by GadToolsBox V2.0b
  3.  *  which is (c) Copyright 1991-1993 Jaba Development
  4.  *
  5.  *  GUI Designed by : Dietmar Eilert
  6.  */
  7.  
  8. #include "defs.h"
  9.  
  10. struct Screen         *Scr = NULL;
  11. UBYTE                 *PubScreenName = NULL;
  12. APTR                   VisualInfo = NULL;
  13. struct Window         *INDEXWnd = NULL;
  14. struct Window         *COMPILERWnd = NULL;
  15. struct Window         *MESSAGESWnd = NULL;
  16. struct Window         *LANGUAGEWnd = NULL;
  17. struct Window         *OPTIMIZERWnd = NULL;
  18. struct Window         *LINKERWnd = NULL;
  19. struct Window         *SPECIALWnd = NULL;
  20. struct Window         *PPCWnd = NULL;
  21. struct Window         *DEBUGGERWnd = NULL;
  22. struct Window         *CPLUSPLUSWnd = NULL;
  23. struct Window         *INLINEWnd = NULL;
  24. struct Window         *DETAILSWnd = NULL;
  25. struct Window         *PREPROCESSORWnd = NULL;
  26. struct Window         *M68KWnd = NULL;
  27. struct Gadget         *INDEXGList = NULL;
  28. struct Gadget         *COMPILERGList = NULL;
  29. struct Gadget         *MESSAGESGList = NULL;
  30. struct Gadget         *LANGUAGEGList = NULL;
  31. struct Gadget         *OPTIMIZERGList = NULL;
  32. struct Gadget         *LINKERGList = NULL;
  33. struct Gadget         *SPECIALGList = NULL;
  34. struct Gadget         *PPCGList = NULL;
  35. struct Gadget         *DEBUGGERGList = NULL;
  36. struct Gadget         *CPLUSPLUSGList = NULL;
  37. struct Gadget         *INLINEGList = NULL;
  38. struct Gadget         *DETAILSGList = NULL;
  39. struct Gadget         *PREPROCESSORGList = NULL;
  40. struct Gadget         *M68KGList = NULL;
  41. struct Gadget         *INDEXGadgets[19];
  42. struct Gadget         *COMPILERGadgets[17];
  43. struct Gadget         *MESSAGESGadgets[15];
  44. struct Gadget         *LANGUAGEGadgets[13];
  45. struct Gadget         *OPTIMIZERGadgets[16];
  46. struct Gadget         *LINKERGadgets[18];
  47. struct Gadget         *SPECIALGadgets[5];
  48. struct Gadget         *PPCGadgets[15];
  49. struct Gadget         *DEBUGGERGadgets[7];
  50. struct Gadget         *CPLUSPLUSGadgets[14];
  51. struct Gadget         *INLINEGadgets[6];
  52. struct Gadget         *DETAILSGadgets[19];
  53. struct Gadget         *PREPROCESSORGadgets[13];
  54. struct Gadget         *M68KGadgets[14];
  55. UWORD                  INDEXLeft = 0;
  56. UWORD                  INDEXTop = 0;
  57. UWORD                  INDEXWidth = 640;
  58. UWORD                  INDEXHeight = 182;
  59. UWORD                  COMPILERLeft = 0;
  60. UWORD                  COMPILERTop = 0;
  61. UWORD                  COMPILERWidth = 640;
  62. UWORD                  COMPILERHeight = 182;
  63. UWORD                  MESSAGESLeft = 0;
  64. UWORD                  MESSAGESTop = 0;
  65. UWORD                  MESSAGESWidth = 640;
  66. UWORD                  MESSAGESHeight = 182;
  67. UWORD                  LANGUAGELeft = 0;
  68. UWORD                  LANGUAGETop = 0;
  69. UWORD                  LANGUAGEWidth = 640;
  70. UWORD                  LANGUAGEHeight = 182;
  71. UWORD                  OPTIMIZERLeft = 0;
  72. UWORD                  OPTIMIZERTop = 0;
  73. UWORD                  OPTIMIZERWidth = 640;
  74. UWORD                  OPTIMIZERHeight = 182;
  75. UWORD                  LINKERLeft = 0;
  76. UWORD                  LINKERTop = 0;
  77. UWORD                  LINKERWidth = 640;
  78. UWORD                  LINKERHeight = 182;
  79. UWORD                  SPECIALLeft = 0;
  80. UWORD                  SPECIALTop = 0;
  81. UWORD                  SPECIALWidth = 640;
  82. UWORD                  SPECIALHeight = 182;
  83. UWORD                  PPCLeft = 0;
  84. UWORD                  PPCTop = 0;
  85. UWORD                  PPCWidth = 640;
  86. UWORD                  PPCHeight = 182;
  87. UWORD                  DEBUGGERLeft = 0;
  88. UWORD                  DEBUGGERTop = 0;
  89. UWORD                  DEBUGGERWidth = 641;
  90. UWORD                  DEBUGGERHeight = 182;
  91. UWORD                  CPLUSPLUSLeft = 0;
  92. UWORD                  CPLUSPLUSTop = 0;
  93. UWORD                  CPLUSPLUSWidth = 640;
  94. UWORD                  CPLUSPLUSHeight = 182;
  95. UWORD                  INLINELeft = 0;
  96. UWORD                  INLINETop = 0;
  97. UWORD                  INLINEWidth = 640;
  98. UWORD                  INLINEHeight = 182;
  99. UWORD                  DETAILSLeft = 0;
  100. UWORD                  DETAILSTop = 0;
  101. UWORD                  DETAILSWidth = 640;
  102. UWORD                  DETAILSHeight = 182;
  103. UWORD                  PREPROCESSORLeft = 0;
  104. UWORD                  PREPROCESSORTop = 0;
  105. UWORD                  PREPROCESSORWidth = 640;
  106. UWORD                  PREPROCESSORHeight = 182;
  107. UWORD                  M68KLeft = 0;
  108. UWORD                  M68KTop = 0;
  109. UWORD                  M68KWidth = 654;
  110. UWORD                  M68KHeight = 182;
  111. UBYTE                 *INDEXWdt = NULL;
  112. UBYTE                 *COMPILERWdt = NULL;
  113. UBYTE                 *MESSAGESWdt = NULL;
  114. UBYTE                 *LANGUAGEWdt = NULL;
  115. UBYTE                 *OPTIMIZERWdt = NULL;
  116. UBYTE                 *LINKERWdt = NULL;
  117. UBYTE                 *SPECIALWdt = NULL;
  118. UBYTE                 *PPCWdt = NULL;
  119. UBYTE                 *DEBUGGERWdt = NULL;
  120. UBYTE                 *CPLUSPLUSWdt = NULL;
  121. UBYTE                 *INLINEWdt = NULL;
  122. UBYTE                 *DETAILSWdt = NULL;
  123. UBYTE                 *PREPROCESSORWdt = NULL;
  124. UBYTE                 *M68KWdt = NULL;
  125.  
  126. UBYTE *VERBOSE0Labels[] = {
  127.     (UBYTE *)"NoVerbose",
  128.     (UBYTE *)"Verbose",
  129.     NULL };
  130.  
  131. UBYTE *OPTIMIZE0Labels[] = {
  132.     (UBYTE *)"Optimize",
  133.     (UBYTE *)"Optimize",
  134.     (UBYTE *)"OptimizeMore",
  135.     (UBYTE *)"OptimizeEvenMore",
  136.     (UBYTE *)"OptimizeSize",
  137.     (UBYTE *)"NoOptimize",
  138.     NULL };
  139.  
  140. UBYTE *LINK0Labels[] = {
  141.     (UBYTE *)"Link",
  142.     (UBYTE *)"NoLink",
  143.     NULL };
  144.  
  145. UBYTE *DEBUGINFO0Labels[] = {
  146.     (UBYTE *)"NoDebug",
  147.     (UBYTE *)"Debug",
  148.     (UBYTE *)"Debug GDB",
  149.     (UBYTE *)"Debug Stabs",
  150.     (UBYTE *)"Debug Stabs+",
  151.     (UBYTE *)"Debug COFF",
  152.     (UBYTE *)"Debug XCOFF",
  153.     (UBYTE *)"Debug XCOFF+",
  154.     (UBYTE *)"Debug DWARF",
  155.     (UBYTE *)"Debug DWARF+",
  156.     (UBYTE *)"Debug DWARF2",
  157.     NULL };
  158.  
  159. UBYTE *PROCESSOR0Labels[] = {
  160.     (UBYTE *)"CPU=Any",
  161.     (UBYTE *)"CPU=680x0",
  162.     (UBYTE *)"CPU=68020",
  163.     (UBYTE *)"CPU=68030",
  164.     (UBYTE *)"CPU=68040",
  165.     (UBYTE *)"CPU=68060",
  166.     (UBYTE *)"CPU=68020-40",
  167.     (UBYTE *)"CPU=68020-60",
  168.     (UBYTE *)"CPU=PPC",
  169.     (UBYTE *)"CPU=PPC601",
  170.     (UBYTE *)"CPU=PPC602",
  171.     (UBYTE *)"CPU=PPC603",
  172.     (UBYTE *)"CPU=PPC603e",
  173.     (UBYTE *)"CPU=PPC604",
  174.     (UBYTE *)"CPU=PPC604e",
  175.     (UBYTE *)"CPU=PPC620",
  176.     (UBYTE *)"CPU=PPC740",
  177.     (UBYTE *)"CPU=PPC750",
  178.     NULL };
  179.  
  180. UBYTE *COMPILE1Labels[] = {
  181.     (UBYTE *)"Compile",
  182.     (UBYTE *)"PreprocessOnly",
  183.     NULL };
  184.  
  185. UBYTE *ASSEMBLE1Labels[] = {
  186.     (UBYTE *)"Assemble",
  187.     (UBYTE *)"NoAssemble",
  188.     NULL };
  189.  
  190. UBYTE *INTERMEDIATEFILES1Labels[] = {
  191.     (UBYTE *)"IntermediateFiles",
  192.     (UBYTE *)"UsePipe",
  193.     NULL };
  194.  
  195. UBYTE *DELETEINTERMEDIATE1Labels[] = {
  196.     (UBYTE *)"DeleteIntermediate",
  197.     (UBYTE *)"SaveIntermediate",
  198.     NULL };
  199.  
  200. UBYTE *AUTODETECT1Labels[] = {
  201.     (UBYTE *)"AutodetectType",
  202.     (UBYTE *)"AutodetectType",
  203.     (UBYTE *)"C",
  204.     (UBYTE *)"ObjectiveC",
  205.     (UBYTE *)"C++",
  206.     (UBYTE *)"Header",
  207.     (UBYTE *)"Preprocessed C",
  208.     (UBYTE *)"Preprocessed C++",
  209.     (UBYTE *)"Assembler",
  210.     (UBYTE *)"Assembler /w CPP",
  211.     NULL };
  212.  
  213. UBYTE *STDINCLUDES1Labels[] = {
  214.     (UBYTE *)"Includes",
  215.     (UBYTE *)"NoStdIncludes",
  216.     NULL };
  217.  
  218. UBYTE *PEDANTIC2Labels[] = {
  219.     (UBYTE *)"NoPedantic",
  220.     (UBYTE *)"Pedantic",
  221.     (UBYTE *)"PedanticErrors",
  222.     NULL };
  223.  
  224. UBYTE *WARNINGS2Labels[] = {
  225.     (UBYTE *)"Warnings",
  226.     (UBYTE *)"NoWarnings",
  227.     (UBYTE *)"AllWarnings",
  228.     NULL };
  229.  
  230. UBYTE *EXTRAWARNINGS2Labels[] = {
  231.     (UBYTE *)"NoExtraWarnings",
  232.     (UBYTE *)"ExtraWarnings",
  233.     NULL };
  234.  
  235. UBYTE *ABORT2Labels[] = {
  236.     (UBYTE *)"NoAbort",
  237.     (UBYTE *)"AbortOnWarnings",
  238.     NULL };
  239.  
  240. UBYTE *PERMISSIVECPP2Labels[] = {
  241.     (UBYTE *)"NoPermissiveC++",
  242.     (UBYTE *)"NoPermissiveC++",
  243.     (UBYTE *)"Permissive C++",
  244.     NULL };
  245.  
  246. UBYTE *DIAGNOSTICS2Labels[] = {
  247.     (UBYTE *)"OptionalDiagnostics",
  248.     (UBYTE *)"NoOptDiagnostics",
  249.     NULL };
  250.  
  251. UBYTE *ANSI3Labels[] = {
  252.     (UBYTE *)"NoStrictANSI",
  253.     (UBYTE *)"StrictANSI",
  254.     NULL };
  255.  
  256. UBYTE *LANGUAGE3Labels[] = {
  257.     (UBYTE *)"Language GNU89",
  258.     (UBYTE *)"Language GNU89",
  259.     (UBYTE *)"Langauge GNU9x",
  260.     (UBYTE *)"Language C89",
  261.     (UBYTE *)"Language C9x",
  262.     (UBYTE *)"Language iso9899:1990",
  263.     (UBYTE *)"Language iso9899:1994",
  264.     (UBYTE *)"Language iso9899:199x",
  265.     NULL };
  266.  
  267. UBYTE *INLINEASM3Labels[] = {
  268.     (UBYTE *)"InlineASM",
  269.     (UBYTE *)"InlineASM",
  270.     (UBYTE *)"NoInlineAsm",
  271.     NULL };
  272.  
  273. UBYTE *BUILTIN3Labels[] = {
  274.     (UBYTE *)"BuiltinFunctions",
  275.     (UBYTE *)"BuiltinFunctions",
  276.     (UBYTE *)"NoBuiltinFunctions",
  277.     NULL };
  278.  
  279. UBYTE *FREESTANDING3Labels[] = {
  280.     (UBYTE *)"HostedEnvironment",
  281.     (UBYTE *)"HostedEnvironment",
  282.     (UBYTE *)"Freestanding",
  283.     NULL };
  284.  
  285. UBYTE *TRIGRAPHS3Labels[] = {
  286.     (UBYTE *)"NoTrigraphs",
  287.     (UBYTE *)"Trigraphs",
  288.     NULL };
  289.  
  290. UBYTE *TRADITIONAL3Labels[] = {
  291.     (UBYTE *)"NoTraditionalC",
  292.     (UBYTE *)"TradionalC",
  293.     NULL };
  294.  
  295. UBYTE *CHAR3Labels[] = {
  296.     (UBYTE *)"SignedChar",
  297.     (UBYTE *)"SignedChar",
  298.     (UBYTE *)"UnsignedChar",
  299.     NULL };
  300.  
  301. UBYTE *BITFIELD3Labels[] = {
  302.     (UBYTE *)"SignedBitfield",
  303.     (UBYTE *)"SignedBitfield",
  304.     (UBYTE *)"UnsignedBitfield",
  305.     NULL };
  306.  
  307. UBYTE *CONSTSTRINGS3Labels[] = {
  308.     (UBYTE *)"Strings=Const",
  309.     (UBYTE *)"Strings=Const",
  310.     (UBYTE *)"WriteableStrings",
  311.     NULL };
  312.  
  313. UBYTE *PROMOTEDOUBLE3Labels[] = {
  314.     (UBYTE *)"PromoteToDouble",
  315.     (UBYTE *)"PromoteToDouble",
  316.     (UBYTE *)"AllowSinglePrecision",
  317.     NULL };
  318.  
  319. UBYTE *FASTCONSTRUCTOR4Labels[] = {
  320.     (UBYTE *)"FastConstructor",
  321.     (UBYTE *)"FastConstructor",
  322.     (UBYTE *)"CopyConstructor",
  323.     NULL };
  324.  
  325. UBYTE *IMPLICITETEMPLATES4Labels[] = {
  326.     (UBYTE *)"ImpliciteTemplates",
  327.     (UBYTE *)"ImpliciteTemplates",
  328.     (UBYTE *)"NoImpliciteTemplates",
  329.     NULL };
  330.  
  331. UBYTE *OPTIMIZER4Labels[] = {
  332.     (UBYTE *)"Optimize",
  333.     (UBYTE *)"Optimize",
  334.     (UBYTE *)"OptimizeMore",
  335.     (UBYTE *)"OptimizeEvenMore",
  336.     (UBYTE *)"OptimizeSize",
  337.     (UBYTE *)"NoOptimize",
  338.     NULL };
  339.  
  340. UBYTE *FLOATSINFPU4Labels[] = {
  341.     (UBYTE *)"StoreFloatsInFPU",
  342.     (UBYTE *)"StoreFloatsInFPU",
  343.     (UBYTE *)"StoreFloatsInRAM",
  344.     NULL };
  345.  
  346. UBYTE *DEFERPOP4Labels[] = {
  347.     (UBYTE *)"DeferPop",
  348.     (UBYTE *)"DeferPop",
  349.     (UBYTE *)"NoDeferPop",
  350.     NULL };
  351.  
  352. UBYTE *COPYOPERANDS4Labels[] = {
  353.     (UBYTE *)"NoCopyOperands",
  354.     (UBYTE *)"NoCopyOperands",
  355.     (UBYTE *)"CopyOperands",
  356.     NULL };
  357.  
  358. UBYTE *COPYPOINTERS4Labels[] = {
  359.     (UBYTE *)"NoCopyPointers",
  360.     (UBYTE *)"NoCopyPointers",
  361.     (UBYTE *)"CopyPointers",
  362.     NULL };
  363.  
  364. UBYTE *FRAMEPOINTER4Labels[] = {
  365.     (UBYTE *)"FramePointer",
  366.     (UBYTE *)"FramePointer",
  367.     (UBYTE *)"OptimizeFramePtr",
  368.     NULL };
  369.  
  370. UBYTE *FASTMATH4Labels[] = {
  371.     (UBYTE *)"NoFastMath",
  372.     (UBYTE *)"NoFastMath",
  373.     (UBYTE *)"FastMath",
  374.     NULL };
  375.  
  376. UBYTE *SAVEREGISTERS4Labels[] = {
  377.     (UBYTE *)"NoSaveRegisters",
  378.     (UBYTE *)"NoSaveRegisters",
  379.     (UBYTE *)"SaveRegisters",
  380.     NULL };
  381.  
  382. UBYTE *PEEPHOLE4Labels[] = {
  383.     (UBYTE *)"PeepholeOptimizer",
  384.     (UBYTE *)"PeepholeOptimizer",
  385.     (UBYTE *)"NoPeepholeOptimizer",
  386.     NULL };
  387.  
  388. UBYTE *SCHEDULER4Labels[] = {
  389.     (UBYTE *)"NoScheduler",
  390.     (UBYTE *)"NoScheduler",
  391.     (UBYTE *)"Scheduler",
  392.     (UBYTE *)"TwoPassScheduler",
  393.     NULL };
  394.  
  395. UBYTE *EXPENSIVEOPT4Labels[] = {
  396.     (UBYTE *)"NoExpensiveOpt",
  397.     (UBYTE *)"NoExpensiveOpt",
  398.     (UBYTE *)"ExpensiveOpt",
  399.     NULL };
  400.  
  401. UBYTE *ALIASING4Labels[] = {
  402.     (UBYTE *)"NoStrictAliasing",
  403.     (UBYTE *)"NoStrictAliasing",
  404.     (UBYTE *)"StrictAliasing",
  405.     NULL };
  406.  
  407. UBYTE *LINKER5Labels[] = {
  408.     (UBYTE *)"Link",
  409.     (UBYTE *)"NoLink",
  410.     NULL };
  411.  
  412. UBYTE *STARTUPCODE5Labels[] = {
  413.     (UBYTE *)"StartupCode",
  414.     (UBYTE *)"NoStartupCode",
  415.     NULL };
  416.  
  417. UBYTE *STDLIBS5Labels[] = {
  418.     (UBYTE *)"StandardLibs",
  419.     (UBYTE *)"NoStandardLibs",
  420.     NULL };
  421.  
  422. UBYTE *STRIPSYMBOLS5Labels[] = {
  423.     (UBYTE *)"NoStripSymbols",
  424.     (UBYTE *)"StripSymbols",
  425.     NULL };
  426.  
  427. UBYTE *DYNAMICLINKING5Labels[] = {
  428.     (UBYTE *)"DynamicLinking",
  429.     (UBYTE *)"StaticLinking",
  430.     NULL };
  431.  
  432. UBYTE *SHAREDOBJ5Labels[] = {
  433.     (UBYTE *)"NoSharedObject",
  434.     (UBYTE *)"SharedObject",
  435.     NULL };
  436.  
  437. UBYTE *SYMBOLICREFS5Labels[] = {
  438.     (UBYTE *)"NoSymbolicRefs",
  439.     (UBYTE *)"SymbolicRefs",
  440.     NULL };
  441.  
  442. UBYTE *IXEMUL5Labels[] = {
  443.     (UBYTE *)"ixemul",
  444.     (UBYTE *)"libnix",
  445.     NULL };
  446.  
  447. UBYTE *DEFAULTLIBS5Labels[] = {
  448.     (UBYTE *)"DefaultLibs",
  449.     (UBYTE *)"NoDefaultLibs",
  450.     NULL };
  451.  
  452. UBYTE *PPCBITALIGN7Labels[] = {
  453.     (UBYTE *)"BitAlign",
  454.     (UBYTE *)"BitAlign",
  455.     (UBYTE *)"NoBitAlign",
  456.     NULL };
  457.  
  458. UBYTE *PPCRELOCATABLE7Labels[] = {
  459.     (UBYTE *)"NoRelocatable",
  460.     (UBYTE *)"NoRelocatable",
  461.     (UBYTE *)"Relocatbale",
  462.     NULL };
  463.  
  464. UBYTE *PPCFULLTOC7Labels[] = {
  465.     (UBYTE *)"FullTOC",
  466.     (UBYTE *)"FullTOC",
  467.     (UBYTE *)"MinimalTOC",
  468.     NULL };
  469.  
  470. UBYTE *PPCFMADD7Labels[] = {
  471.     (UBYTE *)"UseFMADD/FMSUB",
  472.     (UBYTE *)"UseFMADD/FMSUB",
  473.     (UBYTE *)"NoUseFMADD/FMSUB",
  474.     NULL };
  475.  
  476. UBYTE *PPCABI7Labels[] = {
  477.     (UBYTE *)"32bit ABI",
  478.     (UBYTE *)"32bit ABI",
  479.     (UBYTE *)"64bit ABI",
  480.     NULL };
  481.  
  482. UBYTE *PPCFPU7Labels[] = {
  483.     (UBYTE *)"FPU",
  484.     (UBYTE *)"FPU",
  485.     (UBYTE *)"NoFPU",
  486.     NULL };
  487.  
  488. UBYTE *PPCSTRICTALIGN7Labels[] = {
  489.     (UBYTE *)"StrictAlign",
  490.     (UBYTE *)"StrictAlign",
  491.     (UBYTE *)"NoStrictAlign",
  492.     NULL };
  493.  
  494. UBYTE *PPCRELOCATABLELIB7Labels[] = {
  495.     (UBYTE *)"NoRelocatableLib",
  496.     (UBYTE *)"NoRelocatableLib",
  497.     (UBYTE *)"RelocatableLib",
  498.     NULL };
  499.  
  500. UBYTE *PPCTOC7Labels[] = {
  501.     (UBYTE *)"TOC",
  502.     (UBYTE *)"TOC",
  503.     (UBYTE *)"NoTOC",
  504.     NULL };
  505.  
  506. UBYTE *PPCENDIAN7Labels[] = {
  507.     (UBYTE *)"LittleEndian",
  508.     (UBYTE *)"LittleEndian",
  509.     (UBYTE *)"BigEndian",
  510.     NULL };
  511.  
  512. UBYTE *PPCCALL7Labels[] = {
  513.     (UBYTE *)"Calls=SysIV",
  514.     (UBYTE *)"Calls=SysIV",
  515.     (UBYTE *)"Calls=AIX",
  516.     (UBYTE *)"Calls=Linux",
  517.     (UBYTE *)"Calls=Solaris",
  518.     NULL };
  519.  
  520. UBYTE *PPCPROTOTYPED7Labels[] = {
  521.     (UBYTE *)"Prototyped",
  522.     (UBYTE *)"Prototyped",
  523.     (UBYTE *)"NoPrototyped",
  524.     NULL };
  525.  
  526. UBYTE *PPCEABI7Labels[] = {
  527.     (UBYTE *)"EmbeddedABI",
  528.     (UBYTE *)"EmbeddedABI",
  529.     (UBYTE *)"NoEmbeddedABI",
  530.     NULL };
  531.  
  532. UBYTE *PPCDATA7Labels[] = {
  533.     (UBYTE *)"Data=Default",
  534.     (UBYTE *)"Data=Default",
  535.     (UBYTE *)"Data=EABI",
  536.     (UBYTE *)"Data=SysV",
  537.     (UBYTE *)"Data=None",
  538.     NULL };
  539.  
  540. UBYTE *DEBUG8Labels[] = {
  541.     (UBYTE *)"NoDebug",
  542.     (UBYTE *)"Debug",
  543.     (UBYTE *)"Debug GDB",
  544.     (UBYTE *)"Debug Stabs",
  545.     (UBYTE *)"Debug Stabs+",
  546.     (UBYTE *)"Debug COFF",
  547.     (UBYTE *)"Debug XCOFF",
  548.     (UBYTE *)"Debug XCOFF+",
  549.     (UBYTE *)"Debug DWARF",
  550.     (UBYTE *)"Debug DWARF+",
  551.     (UBYTE *)"Debug DWARF2",
  552.     NULL };
  553.  
  554. UBYTE *PROFILE8Labels[] = {
  555.     (UBYTE *)"NoProfile",
  556.     (UBYTE *)"Profile",
  557.     (UBYTE *)"ProfileGPROF",
  558.     NULL };
  559.  
  560. UBYTE *PROFILEBLOCKS8Labels[] = {
  561.     (UBYTE *)"NoProfileBlocks",
  562.     (UBYTE *)"ProfileBlocks",
  563.     (UBYTE *)"ProfileBlocksExtra",
  564.     NULL };
  565.  
  566. UBYTE *ARCS8Labels[] = {
  567.     (UBYTE *)"NoArcs",
  568.     (UBYTE *)"NoArcs",
  569.     (UBYTE *)"Arcs",
  570.     NULL };
  571.  
  572. UBYTE *COVERAGE8Labels[] = {
  573.     (UBYTE *)"NoCoverage",
  574.     (UBYTE *)"NoCoverage",
  575.     (UBYTE *)"SaveCoverageData",
  576.     NULL };
  577.  
  578. UBYTE *DEBUGLEVEL8Labels[] = {
  579.     (UBYTE *)"DebugLevel 2",
  580.     (UBYTE *)"DebugLevel 1",
  581.     (UBYTE *)"DebugLevel 2",
  582.     (UBYTE *)"DebugLevel 3",
  583.     NULL };
  584.  
  585. UBYTE *ACCESSCONTROL9Labels[] = {
  586.     (UBYTE *)"AccessControl",
  587.     (UBYTE *)"AccessControl",
  588.     (UBYTE *)"NoAccessControl",
  589.     NULL };
  590.  
  591. UBYTE *CHECKNEW9Labels[] = {
  592.     (UBYTE *)"NoCheckNew",
  593.     (UBYTE *)"NoCheckNew",
  594.     (UBYTE *)"CheckNew",
  595.     NULL };
  596.  
  597. UBYTE *ACCEPTDOLLAR9Labels[] = {
  598.     (UBYTE *)"AcceptDollar",
  599.     (UBYTE *)"AcceptDollar",
  600.     (UBYTE *)"NoAcceptDollar",
  601.     NULL };
  602.  
  603. UBYTE *FORSCOPE9Labels[] = {
  604.     (UBYTE *)"ForLoopScope",
  605.     (UBYTE *)"ForLoopScope",
  606.     (UBYTE *)"NoForLoopScope",
  607.     NULL };
  608.  
  609. UBYTE *GNUKEYWORDS9Labels[] = {
  610.     (UBYTE *)"GNUKeywords",
  611.     (UBYTE *)"GNUKeywords",
  612.     (UBYTE *)"NoGNUKeywords",
  613.     NULL };
  614.  
  615. UBYTE *SIGNATURES9Labels[] = {
  616.     (UBYTE *)"NoSignatures",
  617.     (UBYTE *)"NoSignatures",
  618.     (UBYTE *)"HandleSignatures",
  619.     NULL };
  620.  
  621. UBYTE *STDNAMESPACE9Labels[] = {
  622.     (UBYTE *)"IgnoreStdNamespace",
  623.     (UBYTE *)"NoIgnoreStdNamespace",
  624.     NULL };
  625.  
  626. UBYTE *MANGLING9Labels[] = {
  627.     (UBYTE *)"NewNameMangling",
  628.     (UBYTE *)"NewNameMangling",
  629.     (UBYTE *)"OldNameMangling",
  630.     NULL };
  631.  
  632. UBYTE *OPERATORNAMES9Labels[] = {
  633.     (UBYTE *)"NoOperatorNames",
  634.     (UBYTE *)"NoOperatorNames",
  635.     (UBYTE *)"OperatorNames",
  636.     NULL };
  637.  
  638. UBYTE *RTTI9Labels[] = {
  639.     (UBYTE *)"RTTI",
  640.     (UBYTE *)"RTTI",
  641.     (UBYTE *)"NoRTTI",
  642.     NULL };
  643.  
  644. UBYTE *STRICTPROTOS9Labels[] = {
  645.     (UBYTE *)"NoStrictProtos",
  646.     (UBYTE *)"NoStrictProtos",
  647.     (UBYTE *)"StrictProtos",
  648.     NULL };
  649.  
  650. UBYTE *LONGMANGLING9Labels[] = {
  651.     (UBYTE *)"LongNameMangling",
  652.     (UBYTE *)"LongNameMangling",
  653.     (UBYTE *)"CompressedMangling",
  654.     NULL };
  655.  
  656. UBYTE *ASSIGNTOTHIS9Labels[] = {
  657.     (UBYTE *)"NoAssignToThis",
  658.     (UBYTE *)"NoAssignToThis",
  659.     (UBYTE *)"AssignToThis",
  660.     NULL };
  661.  
  662. UBYTE *INLINECLASS10Labels[] = {
  663.     (UBYTE *)"InlineClassFunc",
  664.     (UBYTE *)"InlineClassFunc",
  665.     (UBYTE *)"NoInlineClassFunc",
  666.     NULL };
  667.  
  668. UBYTE *INLINEDIRECTIVE10Labels[] = {
  669.     (UBYTE *)"UseInlineDirective",
  670.     (UBYTE *)"UseInlineDirective",
  671.     (UBYTE *)"IgnoreInlineDirective",
  672.     NULL };
  673.  
  674. UBYTE *DELETEINLINED10Labels[] = {
  675.     (UBYTE *)"DeleteInlinedFunc",
  676.     (UBYTE *)"DeleteInlinedFunc",
  677.     (UBYTE *)"KeepInlinedFunc",
  678.     NULL };
  679.  
  680. UBYTE *AUTOINLINE10Labels[] = {
  681.     (UBYTE *)"NoAutomaticInline",
  682.     (UBYTE *)"NoAutomaticInline",
  683.     (UBYTE *)"InlineSmallFunctions",
  684.     NULL };
  685.  
  686. UBYTE *STRENGTHREDUCE11Labels[] = {
  687.     (UBYTE *)"NoStrengthReduce",
  688.     (UBYTE *)"NoStrengthReduce",
  689.     (UBYTE *)"StrengthReduce",
  690.     NULL };
  691.  
  692. UBYTE *THREADJUMPS11Labels[] = {
  693.     (UBYTE *)"NoThreadJumps",
  694.     (UBYTE *)"NoThreadJumps",
  695.     (UBYTE *)"ThreadJumps",
  696.     NULL };
  697.  
  698. UBYTE *CSEFOLLOWJUMPS11Labels[] = {
  699.     (UBYTE *)"NoCSEFollowJumps",
  700.     (UBYTE *)"NoCSEFollowJumps",
  701.     (UBYTE *)"CSEFollowJumps",
  702.     NULL };
  703.  
  704. UBYTE *CSESKIPBLOCKS11Labels[] = {
  705.     (UBYTE *)"NoCSESkipBlocks",
  706.     (UBYTE *)"NoCSESkipBlocks",
  707.     (UBYTE *)"CSESkipBlocks",
  708.     NULL };
  709.  
  710. UBYTE *FUNCTIONCSE11Labels[] = {
  711.     (UBYTE *)"FunctionCSE",
  712.     (UBYTE *)"FunctionCSE",
  713.     (UBYTE *)"NoFunctionCSE",
  714.     NULL };
  715.  
  716. UBYTE *RERUNCSE11Labels[] = {
  717.     (UBYTE *)"NoReRunCSE",
  718.     (UBYTE *)"NoReRunCSE",
  719.     (UBYTE *)"ReRunCSE",
  720.     NULL };
  721.  
  722. UBYTE *RERUNLOOPOPT11Labels[] = {
  723.     (UBYTE *)"NoReRunLoopOpt",
  724.     (UBYTE *)"NoReRunLoopOpt",
  725.     (UBYTE *)"ReRunLoopOptimizer",
  726.     NULL };
  727.  
  728. UBYTE *GLOBALCSEPASS11Labels[] = {
  729.     (UBYTE *)"NoGlobalCSEPass",
  730.     (UBYTE *)"NoGlobalCSEPass",
  731.     (UBYTE *)"GlobalCSEPass",
  732.     NULL };
  733.  
  734. UBYTE *OPTIMIZEMOVE11Labels[] = {
  735.     (UBYTE *)"NoOptimizeMOVE",
  736.     (UBYTE *)"NoOptimizeMOVE",
  737.     (UBYTE *)"OptimizeMOVE",
  738.     NULL };
  739.  
  740. UBYTE *DELAYEDBRANCH11Labels[] = {
  741.     (UBYTE *)"NoDelayedBranch",
  742.     (UBYTE *)"NoDelayedBranch",
  743.     (UBYTE *)"DelayedBranch",
  744.     NULL };
  745.  
  746. UBYTE *SEPARATEFUNCS11Labels[] = {
  747.     (UBYTE *)"NoSeparateFuncs",
  748.     (UBYTE *)"NoSeparateFuncs",
  749.     (UBYTE *)"SeparateFunction",
  750.     NULL };
  751.  
  752. UBYTE *UNROLLLOOPS11Labels[] = {
  753.     (UBYTE *)"NoUnrollLoops",
  754.     (UBYTE *)"NoUnrollLoops",
  755.     (UBYTE *)"UnrollLoops",
  756.     NULL };
  757.  
  758. UBYTE *UNROLLALLLOOPS11Labels[] = {
  759.     (UBYTE *)"NoUnrollAllLoops",
  760.     (UBYTE *)"NoUnrollAllLoops",
  761.     (UBYTE *)"UnrollAllLoops",
  762.     NULL };
  763.  
  764. UBYTE *MOVEMOVEABLE11Labels[] = {
  765.     (UBYTE *)"NoMoveMoveable",
  766.     (UBYTE *)"NoMoveMoveable",
  767.     (UBYTE *)"MoveMoveable",
  768.     NULL };
  769.  
  770. UBYTE *REDUCEALLVARS11Labels[] = {
  771.     (UBYTE *)"NoReduceAllVars",
  772.     (UBYTE *)"NoReduceAllVars",
  773.     (UBYTE *)"ReduceAllVars",
  774.     NULL };
  775.  
  776. UBYTE *BRANCHPROBABILITY11Labels[] = {
  777.     (UBYTE *)"NoBranchProbab",
  778.     (UBYTE *)"NoBranchProbab",
  779.     (UBYTE *)"BranchProbabilities",
  780.     NULL };
  781.  
  782. UBYTE *KEEPCONST11Labels[] = {
  783.     (UBYTE *)"KeepUnusedConst",
  784.     (UBYTE *)"KeepUnusedConst",
  785.     (UBYTE *)"DeleteUnusedConst",
  786.     NULL };
  787.  
  788. UBYTE *SEPARATEDATA11Labels[] = {
  789.     (UBYTE *)"NoSeparateData",
  790.     (UBYTE *)"NoSeparateData",
  791.     (UBYTE *)"SeparateData",
  792.     NULL };
  793.  
  794. UBYTE *STRIPCOMMENTS12Labels[] = {
  795.     (UBYTE *)"StripComments",
  796.     (UBYTE *)"NoStripComments",
  797.     NULL };
  798.  
  799. UBYTE *DEFINEMACROS12Labels[] = {
  800.     (UBYTE *)"DefineMacros",
  801.     (UBYTE *)"NoDefineMacros",
  802.     NULL };
  803.  
  804. UBYTE *LINENUMBERS12Labels[] = {
  805.     (UBYTE *)"GenLineNumbers",
  806.     (UBYTE *)"NoGenLineNumbers",
  807.     NULL };
  808.  
  809. UBYTE *TRADITIONALCPP12Labels[] = {
  810.     (UBYTE *)"ANSI Preprocessor",
  811.     (UBYTE *)"K&R Preprocessor",
  812.     NULL };
  813.  
  814. UBYTE *M68KFPU13Labels[] = {
  815.     (UBYTE *)"NoFPU",
  816.     (UBYTE *)"FPU=68881",
  817.     NULL };
  818.  
  819. UBYTE *CPU13Labels[] = {
  820.     (UBYTE *)"CPU=Any",
  821.     (UBYTE *)"CPU=680x0",
  822.     (UBYTE *)"CPU=68020",
  823.     (UBYTE *)"CPU=68030",
  824.     (UBYTE *)"CPU=68040",
  825.     (UBYTE *)"CPU=68060",
  826.     (UBYTE *)"CPU=68020-40",
  827.     (UBYTE *)"CPU=68020-60",
  828.     (UBYTE *)"CPU=PPC",
  829.     (UBYTE *)"CPU=PPC601",
  830.     (UBYTE *)"CPU=PPC602",
  831.     (UBYTE *)"CPU=PPC603",
  832.     (UBYTE *)"CPU=PPC603e",
  833.     (UBYTE *)"CPU=PPC604",
  834.     (UBYTE *)"CPU=PPC604e",
  835.     (UBYTE *)"CPU=PPC620",
  836.     (UBYTE *)"CPU=PPC740",
  837.     (UBYTE *)"CPU=PPC750",
  838.     NULL };
  839.  
  840. UBYTE *M68KSOFTFLOAT13Labels[] = {
  841.     (UBYTE *)"NoSoftFloat",
  842.     (UBYTE *)"SoftFloat",
  843.     NULL };
  844.  
  845. UBYTE *M68KLONGINT13Labels[] = {
  846.     (UBYTE *)"int=32bit",
  847.     (UBYTE *)"int=16bit",
  848.     NULL };
  849.  
  850. UBYTE *M68KRTS13Labels[] = {
  851.     (UBYTE *)"ReturnWithRTS",
  852.     (UBYTE *)"ReturnWithRTD",
  853.     NULL };
  854.  
  855. UBYTE *M68KALIGN13Labels[] = {
  856.     (UBYTE *)"No32bitAlign",
  857.     (UBYTE *)"No32bitAlign",
  858.     (UBYTE *)"32bitAlign",
  859.     NULL };
  860.  
  861. UBYTE *M68KFARCODE13Labels[] = {
  862.     (UBYTE *)"Code=far",
  863.     (UBYTE *)"Code=near",
  864.     NULL };
  865.  
  866. UBYTE *M68KFARDATA13Labels[] = {
  867.     (UBYTE *)"Data=far",
  868.     (UBYTE *)"Data=far",
  869.     (UBYTE *)"Data=near16",
  870.     (UBYTE *)"Data=near32",
  871.     (UBYTE *)"Data=resident16",
  872.     (UBYTE *)"Data=resident32",
  873.     NULL };
  874.  
  875. UBYTE *M68KSTACKCHECK13Labels[] = {
  876.     (UBYTE *)"NoStackCheck",
  877.     (UBYTE *)"NoStackCheck",
  878.     (UBYTE *)"StackCheck",
  879.     NULL };
  880.  
  881. UBYTE *M68KSTACKEXTEND13Labels[] = {
  882.     (UBYTE *)"NoStackExtend",
  883.     (UBYTE *)"NoStackExtend",
  884.     (UBYTE *)"StackExtend",
  885.     NULL };
  886.  
  887. UBYTE *M68KRELOADA413Labels[] = {
  888.     (UBYTE *)"NoReloadA4",
  889.     (UBYTE *)"NoReloadA4",
  890.     (UBYTE *)"ReloadA4",
  891.     (UBYTE *)"AlwaysReloadA4",
  892.     NULL };
  893.  
  894. UBYTE *M68KPARMS13Labels[] = {
  895.     (UBYTE *)"Parms=Stack",
  896.     (UBYTE *)"Parms=Registers",
  897.     (UBYTE *)"Parms=Registers (1)",
  898.     (UBYTE *)"Parms=Registers (2)",
  899.     (UBYTE *)"Parms=Registers (3)",
  900.     (UBYTE *)"Parms=Registers (4)",
  901.     NULL };
  902.  
  903. struct TextAttr topaz8 = {
  904.     ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
  905.  
  906. struct IntuiText LANGUAGEIText[] = {
  907.     1, 0, JAM1,162, 120, &topaz8, (UBYTE *)"See next page for C++ language options !", &LANGUAGEIText[1],
  908.     1, 0, JAM1,74, 11, &topaz8, (UBYTE *)"Standards", &LANGUAGEIText[2],
  909.     1, 0, JAM1,292, 11, &topaz8, (UBYTE *)"Types", &LANGUAGEIText[3],
  910.     1, 0, JAM1,505, 11, &topaz8, (UBYTE *)"Other", NULL };
  911.  
  912. struct IntuiText OPTIMIZERIText[] = {
  913.     1, 0, JAM1,52, 41, &topaz8, (UBYTE *)"General Options", &OPTIMIZERIText[1],
  914.     1, 0, JAM1,480, 41, &topaz8, (UBYTE *)"C++ and Math", &OPTIMIZERIText[2],
  915.     1, 0, JAM1,282, 41, &topaz8, (UBYTE *)"Registers", NULL };
  916.  
  917. struct IntuiText PPCIText[] = {
  918.     1, 0, JAM1,166, 128, &topaz8, (UBYTE *)"See previous page for M68K code options !", NULL };
  919.  
  920. struct IntuiText DEBUGGERIText[] = {
  921.     1, 0, JAM1,88, 11, &topaz8, (UBYTE *)"Debug", &DEBUGGERIText[1],
  922.     1, 0, JAM1,287, 11, &topaz8, (UBYTE *)"Profile", NULL };
  923.  
  924. struct IntuiText CPLUSPLUSIText[] = {
  925.     1, 0, JAM1,153, 128, &topaz8, (UBYTE *)"See previous page for C language options !", NULL };
  926.  
  927. struct IntuiText DETAILSIText[] = {
  928.     1, 0, JAM1,443, 11, &topaz8, (UBYTE *)"Common Subexpressions", &DETAILSIText[1],
  929.     1, 0, JAM1,300, 11, &topaz8, (UBYTE *)"Loops", &DETAILSIText[2],
  930.     1, 0, JAM1,62, 11, &topaz8, (UBYTE *)"Code Options", NULL };
  931.  
  932. struct IntuiText M68KIText[] = {
  933.     1, 0, JAM1,203, 119, &topaz8, (UBYTE *)"See next page for PPC options !", &M68KIText[1],
  934.     1, 0, JAM1,280, 11, &topaz8, (UBYTE *)"CPU and FPU", &M68KIText[2],
  935.     1, 0, JAM1,64, 11, &topaz8, (UBYTE *)"Code Options", &M68KIText[3],
  936.     1, 0, JAM1,472, 11, &topaz8, (UBYTE *)"Function Calls", NULL };
  937.  
  938. UWORD INDEXGTypes[] = {
  939.     BUTTON_KIND,
  940.     CYCLE_KIND,
  941.     BUTTON_KIND,
  942.     BUTTON_KIND,
  943.     BUTTON_KIND,
  944.     CYCLE_KIND,
  945.     BUTTON_KIND,
  946.     BUTTON_KIND,
  947.     CYCLE_KIND,
  948.     BUTTON_KIND,
  949.     BUTTON_KIND,
  950.     BUTTON_KIND,
  951.     BUTTON_KIND,
  952.     BUTTON_KIND,
  953.     BUTTON_KIND,
  954.     STRING_KIND,
  955.     CYCLE_KIND,
  956.     BUTTON_KIND,
  957.     CYCLE_KIND
  958. };
  959.  
  960. UWORD COMPILERGTypes[] = {
  961.     STRING_KIND,
  962.     LISTVIEW_KIND,
  963.     BUTTON_KIND,
  964.     BUTTON_KIND,
  965.     STRING_KIND,
  966.     LISTVIEW_KIND,
  967.     BUTTON_KIND,
  968.     BUTTON_KIND,
  969.     BUTTON_KIND,
  970.     CYCLE_KIND,
  971.     CYCLE_KIND,
  972.     CYCLE_KIND,
  973.     STRING_KIND,
  974.     BUTTON_KIND,
  975.     CYCLE_KIND,
  976.     CYCLE_KIND,
  977.     CYCLE_KIND
  978. };
  979.  
  980. UWORD MESSAGESGTypes[] = {
  981.     BUTTON_KIND,
  982.     BUTTON_KIND,
  983.     BUTTON_KIND,
  984.     STRING_KIND,
  985.     LISTVIEW_KIND,
  986.     BUTTON_KIND,
  987.     BUTTON_KIND,
  988.     STRING_KIND,
  989.     LISTVIEW_KIND,
  990.     CYCLE_KIND,
  991.     CYCLE_KIND,
  992.     CYCLE_KIND,
  993.     CYCLE_KIND,
  994.     CYCLE_KIND,
  995.     CYCLE_KIND
  996. };
  997.  
  998. UWORD LANGUAGEGTypes[] = {
  999.     BUTTON_KIND,
  1000.     CYCLE_KIND,
  1001.     CYCLE_KIND,
  1002.     CYCLE_KIND,
  1003.     CYCLE_KIND,
  1004.     CYCLE_KIND,
  1005.     CYCLE_KIND,
  1006.     CYCLE_KIND,
  1007.     CYCLE_KIND,
  1008.     CYCLE_KIND,
  1009.     CYCLE_KIND,
  1010.     CYCLE_KIND,
  1011.     BUTTON_KIND
  1012. };
  1013.  
  1014. UWORD OPTIMIZERGTypes[] = {
  1015.     BUTTON_KIND,
  1016.     CYCLE_KIND,
  1017.     CYCLE_KIND,
  1018.     CYCLE_KIND,
  1019.     CYCLE_KIND,
  1020.     CYCLE_KIND,
  1021.     CYCLE_KIND,
  1022.     CYCLE_KIND,
  1023.     CYCLE_KIND,
  1024.     CYCLE_KIND,
  1025.     CYCLE_KIND,
  1026.     CYCLE_KIND,
  1027.     CYCLE_KIND,
  1028.     CYCLE_KIND,
  1029.     CYCLE_KIND,
  1030.     BUTTON_KIND
  1031. };
  1032.  
  1033. UWORD LINKERGTypes[] = {
  1034.     BUTTON_KIND,
  1035.     CYCLE_KIND,
  1036.     BUTTON_KIND,
  1037.     BUTTON_KIND,
  1038.     STRING_KIND,
  1039.     LISTVIEW_KIND,
  1040.     BUTTON_KIND,
  1041.     BUTTON_KIND,
  1042.     STRING_KIND,
  1043.     LISTVIEW_KIND,
  1044.     CYCLE_KIND,
  1045.     CYCLE_KIND,
  1046.     CYCLE_KIND,
  1047.     CYCLE_KIND,
  1048.     CYCLE_KIND,
  1049.     CYCLE_KIND,
  1050.     CYCLE_KIND,
  1051.     CYCLE_KIND
  1052. };
  1053.  
  1054. UWORD SPECIALGTypes[] = {
  1055.     BUTTON_KIND,
  1056.     STRING_KIND,
  1057.     LISTVIEW_KIND,
  1058.     BUTTON_KIND,
  1059.     BUTTON_KIND
  1060. };
  1061.  
  1062. UWORD PPCGTypes[] = {
  1063.     BUTTON_KIND,
  1064.     CYCLE_KIND,
  1065.     CYCLE_KIND,
  1066.     CYCLE_KIND,
  1067.     CYCLE_KIND,
  1068.     CYCLE_KIND,
  1069.     CYCLE_KIND,
  1070.     CYCLE_KIND,
  1071.     CYCLE_KIND,
  1072.     CYCLE_KIND,
  1073.     CYCLE_KIND,
  1074.     CYCLE_KIND,
  1075.     CYCLE_KIND,
  1076.     CYCLE_KIND,
  1077.     CYCLE_KIND
  1078. };
  1079.  
  1080. UWORD DEBUGGERGTypes[] = {
  1081.     BUTTON_KIND,
  1082.     CYCLE_KIND,
  1083.     CYCLE_KIND,
  1084.     CYCLE_KIND,
  1085.     CYCLE_KIND,
  1086.     CYCLE_KIND,
  1087.     CYCLE_KIND
  1088. };
  1089.  
  1090. UWORD CPLUSPLUSGTypes[] = {
  1091.     BUTTON_KIND,
  1092.     CYCLE_KIND,
  1093.     CYCLE_KIND,
  1094.     CYCLE_KIND,
  1095.     CYCLE_KIND,
  1096.     CYCLE_KIND,
  1097.     CYCLE_KIND,
  1098.     CYCLE_KIND,
  1099.     CYCLE_KIND,
  1100.     CYCLE_KIND,
  1101.     CYCLE_KIND,
  1102.     CYCLE_KIND,
  1103.     CYCLE_KIND,
  1104.     CYCLE_KIND
  1105. };
  1106.  
  1107. UWORD INLINEGTypes[] = {
  1108.     CYCLE_KIND,
  1109.     CYCLE_KIND,
  1110.     CYCLE_KIND,
  1111.     CYCLE_KIND,
  1112.     BUTTON_KIND,
  1113.     STRING_KIND
  1114. };
  1115.  
  1116. UWORD DETAILSGTypes[] = {
  1117.     BUTTON_KIND,
  1118.     CYCLE_KIND,
  1119.     CYCLE_KIND,
  1120.     CYCLE_KIND,
  1121.     CYCLE_KIND,
  1122.     CYCLE_KIND,
  1123.     CYCLE_KIND,
  1124.     CYCLE_KIND,
  1125.     CYCLE_KIND,
  1126.     CYCLE_KIND,
  1127.     CYCLE_KIND,
  1128.     CYCLE_KIND,
  1129.     CYCLE_KIND,
  1130.     CYCLE_KIND,
  1131.     CYCLE_KIND,
  1132.     CYCLE_KIND,
  1133.     CYCLE_KIND,
  1134.     CYCLE_KIND,
  1135.     CYCLE_KIND
  1136. };
  1137.  
  1138. UWORD PREPROCESSORGTypes[] = {
  1139.     BUTTON_KIND,
  1140.     CYCLE_KIND,
  1141.     CYCLE_KIND,
  1142.     CYCLE_KIND,
  1143.     BUTTON_KIND,
  1144.     BUTTON_KIND,
  1145.     STRING_KIND,
  1146.     LISTVIEW_KIND,
  1147.     BUTTON_KIND,
  1148.     BUTTON_KIND,
  1149.     STRING_KIND,
  1150.     LISTVIEW_KIND,
  1151.     CYCLE_KIND
  1152. };
  1153.  
  1154. UWORD M68KGTypes[] = {
  1155.     BUTTON_KIND,
  1156.     CYCLE_KIND,
  1157.     CYCLE_KIND,
  1158.     CYCLE_KIND,
  1159.     CYCLE_KIND,
  1160.     CYCLE_KIND,
  1161.     CYCLE_KIND,
  1162.     CYCLE_KIND,
  1163.     CYCLE_KIND,
  1164.     CYCLE_KIND,
  1165.     CYCLE_KIND,
  1166.     CYCLE_KIND,
  1167.     CYCLE_KIND,
  1168.     BUTTON_KIND
  1169. };
  1170.  
  1171. struct NewGadget INDEXNGad[] = {
  1172.     431, 84, 191, 14, (UBYTE *)"Linker Options...", NULL, GD_LINKEROPTIONS, PLACETEXT_IN, NULL, NULL,
  1173.     431, 54, 191, 14, NULL, NULL, GD_VERBOSE, 0, NULL, NULL,
  1174.     263, 164, 111, 14, (UBYTE *)"SAVE", NULL, GD_SAVE, PLACETEXT_IN, NULL, NULL,
  1175.     511, 164, 111, 14, (UBYTE *)"Cancel", NULL, GD_CANCEL, PLACETEXT_IN, NULL, NULL,
  1176.     10, 84, 191, 14, (UBYTE *)"Optimizer Options...", NULL, GD_OPTIMIZEROPTIONS, PLACETEXT_IN, NULL, NULL,
  1177.     10, 99, 191, 14, NULL, NULL, GD_OPTIMIZE, 0, NULL, NULL,
  1178.     10, 9, 191, 14, (UBYTE *)"Compiler Options...", NULL, GD_COMPILEROPTIONS, PLACETEXT_IN, NULL, NULL,
  1179.     431, 39, 191, 14, (UBYTE *)"Message Options...", NULL, GD_MESSAGEOPTIONS, PLACETEXT_IN, NULL, NULL,
  1180.     431, 99, 191, 14, NULL, NULL, GD_LINK, 0, NULL, NULL,
  1181.     10, 164, 111, 14, (UBYTE *)"Save Default", NULL, GD_SAVEDEFAULT, PLACETEXT_IN, NULL, NULL,
  1182.     221, 99, 191, 14, (UBYTE *)"Other Options...", NULL, GD_OTHEROPTIONS, PLACETEXT_IN, NULL, NULL,
  1183.     431, 9, 191, 14, (UBYTE *)"Language Options...", NULL, GD_LANGUAGEOPTIONS, PLACETEXT_IN, NULL, NULL,
  1184.     10, 39, 191, 14, (UBYTE *)"Debugger Options...", NULL, GD_DEBUGGEROPTIONS, PLACETEXT_IN, NULL, NULL,
  1185.     221, 9, 191, 14, (UBYTE *)"Preprocessor...", NULL, GD_PREPROCESSOROPTIONS, PLACETEXT_IN, NULL, NULL,
  1186.     221, 39, 191, 14, (UBYTE *)"Code Options...", NULL, GD_M68KOPTIONS, PLACETEXT_IN, NULL, NULL,
  1187.     221, 134, 191, 14, (UBYTE *)"Target", NULL, GD_TARGET, PLACETEXT_ABOVE, NULL, NULL,
  1188.     10, 54, 191, 14, NULL, NULL, GD_DEBUGINFO, 0, NULL, NULL,
  1189.     221, 84, 191, 14, (UBYTE *)"Inline Options...", NULL, GD_INLINEOPTIONS, PLACETEXT_IN, NULL, NULL,
  1190.     221, 54, 191, 14, NULL, NULL, GD_PROCESSOR, 0, NULL, NULL
  1191. };
  1192.  
  1193. struct NewGadget COMPILERNGad[] = {
  1194.     431, 69, 191, 14, NULL, NULL, GD_EDITGLOBALINCLUDE, 0, NULL, NULL,
  1195.     431, 24, 191, 96, (UBYTE *)"<Includes>", NULL, GD_GLOBALINCLUDES, PLACETEXT_ABOVE, NULL, NULL,
  1196.     523, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDGLOBALINCLUDE, PLACETEXT_IN, NULL, NULL,
  1197.     573, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELGLOBALINCLUDE, PLACETEXT_IN, NULL, NULL,
  1198.     221, 143, 191, 14, NULL, NULL, GD_EDITLOCALINCLUDE, 0, NULL, NULL,
  1199.     221, 24, 191, 96, (UBYTE *)"Includes", NULL, GD_LOCALINCLUDES, PLACETEXT_ABOVE, NULL, NULL,
  1200.     313, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDLOCALINCLUDE, PLACETEXT_IN, NULL, NULL,
  1201.     363, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELLOCALINCLUDE, PLACETEXT_IN, NULL, NULL,
  1202.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKCOMPILER, PLACETEXT_IN, NULL, NULL,
  1203.     10, 24, 191, 14, NULL, NULL, GD_COMPILE, 0, NULL, NULL,
  1204.     10, 39, 191, 14, NULL, NULL, GD_ASSEMBLE, 0, NULL, NULL,
  1205.     10, 54, 191, 14, NULL, NULL, GD_INTERMEDIATEFILES, 0, NULL, NULL,
  1206.     10, 129, 164, 14, (UBYTE *)"Specs file", NULL, GD_SPECSFILE, PLACETEXT_ABOVE, NULL, NULL,
  1207.     175, 129, 26, 14, (UBYTE *)"?", NULL, GD_GETSPECSFILE, PLACETEXT_IN, NULL, NULL,
  1208.     10, 69, 191, 14, NULL, NULL, GD_DELETEINTERMEDIATE, 0, NULL, NULL,
  1209.     10, 9, 191, 14, NULL, NULL, GD_AUTODETECT, 0, NULL, NULL,
  1210.     10, 84, 191, 14, NULL, NULL, GD_STDINCLUDES, 0, NULL, NULL
  1211. };
  1212.  
  1213. struct NewGadget MESSAGESNGad[] = {
  1214.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKMESSAGES, PLACETEXT_IN, NULL, NULL,
  1215.     523, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDENABLED, PLACETEXT_IN, NULL, NULL,
  1216.     573, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELENABLED, PLACETEXT_IN, NULL, NULL,
  1217.     431, 106, 191, 14, NULL, NULL, GD_EDITENABLED, 0, NULL, NULL,
  1218.     431, 24, 191, 96, (UBYTE *)"Enable Warning", NULL, GD_ENABLED, PLACETEXT_ABOVE, NULL, NULL,
  1219.     313, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDDISABLED, PLACETEXT_IN, NULL, NULL,
  1220.     363, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELDISABLED, PLACETEXT_IN, NULL, NULL,
  1221.     221, 106, 191, 14, NULL, NULL, GD_EDITDISABLED, 0, NULL, NULL,
  1222.     221, 24, 191, 96, (UBYTE *)"Disable Warning", NULL, GD_DISABLED, PLACETEXT_ABOVE, NULL, NULL,
  1223.     10, 39, 191, 14, NULL, NULL, GD_PEDANTIC, 0, NULL, NULL,
  1224.     10, 9, 191, 14, NULL, NULL, GD_WARNINGS, 0, NULL, NULL,
  1225.     10, 24, 191, 14, NULL, NULL, GD_EXTRAWARNINGS, 0, NULL, NULL,
  1226.     10, 54, 191, 14, NULL, NULL, GD_ABORT, 0, NULL, NULL,
  1227.     10, 69, 191, 14, NULL, NULL, GD_PERMISSIVECPP, 0, NULL, NULL,
  1228.     10, 84, 191, 14, NULL, NULL, GD_DIAGNOSTICS, 0, NULL, NULL
  1229. };
  1230.  
  1231. struct NewGadget LANGUAGENGad[] = {
  1232.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKLANGUAGE, PLACETEXT_IN, NULL, NULL,
  1233.     10, 39, 191, 14, NULL, NULL, GD_ANSI, 0, NULL, NULL,
  1234.     10, 24, 191, 14, NULL, NULL, GD_LANGUAGE, 0, NULL, NULL,
  1235.     10, 69, 191, 14, NULL, NULL, GD_INLINEASM, 0, NULL, NULL,
  1236.     431, 39, 191, 14, NULL, NULL, GD_BUILTIN, 0, NULL, NULL,
  1237.     431, 24, 191, 14, NULL, NULL, GD_FREESTANDING, 0, NULL, NULL,
  1238.     431, 54, 191, 14, NULL, NULL, GD_TRIGRAPHS, 0, NULL, NULL,
  1239.     10, 54, 191, 14, NULL, NULL, GD_TRADITIONAL, 0, NULL, NULL,
  1240.     221, 24, 191, 14, NULL, NULL, GD_CHAR, 0, NULL, NULL,
  1241.     221, 39, 191, 14, NULL, NULL, GD_BITFIELD, 0, NULL, NULL,
  1242.     221, 54, 191, 14, NULL, NULL, GD_CONSTSTRINGS, 0, NULL, NULL,
  1243.     221, 69, 191, 14, NULL, NULL, GD_PROMOTEDOUBLE, 0, NULL, NULL,
  1244.     221, 134, 191, 14, (UBYTE *)"C++ Options...", NULL, GD_CPLUSPLUSOPTIONS, PLACETEXT_IN, NULL, NULL
  1245. };
  1246.  
  1247. struct NewGadget OPTIMIZERNGad[] = {
  1248.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKOPTIMIZER, PLACETEXT_IN, NULL, NULL,
  1249.     431, 54, 191, 14, NULL, NULL, GD_FASTCONSTRUCTOR, 0, NULL, NULL,
  1250.     431, 69, 191, 14, NULL, NULL, GD_IMPLICITETEMPLATES, 0, NULL, NULL,
  1251.     221, 9, 191, 14, NULL, NULL, GD_OPTIMIZER, 0, NULL, NULL,
  1252.     431, 99, 191, 14, NULL, NULL, GD_FLOATSINFPU, 0, NULL, NULL,
  1253.     221, 84, 191, 14, NULL, NULL, GD_DEFERPOP, 0, NULL, NULL,
  1254.     221, 114, 191, 14, NULL, NULL, GD_COPYOPERANDS, 0, NULL, NULL,
  1255.     221, 99, 191, 14, NULL, NULL, GD_COPYPOINTERS, 0, NULL, NULL,
  1256.     221, 54, 191, 14, NULL, NULL, GD_FRAMEPOINTER, 0, NULL, NULL,
  1257.     431, 84, 191, 14, NULL, NULL, GD_FASTMATH, 0, NULL, NULL,
  1258.     221, 69, 191, 14, NULL, NULL, GD_SAVEREGISTERS, 0, NULL, NULL,
  1259.     10, 54, 191, 14, NULL, NULL, GD_PEEPHOLE, 0, NULL, NULL,
  1260.     10, 69, 191, 14, NULL, NULL, GD_SCHEDULER, 0, NULL, NULL,
  1261.     10, 84, 191, 14, NULL, NULL, GD_EXPENSIVEOPT, 0, NULL, NULL,
  1262.     10, 99, 191, 14, NULL, NULL, GD_ALIASING, 0, NULL, NULL,
  1263.     511, 164, 111, 14, (UBYTE *)"Details...", NULL, GD_DETAILS, PLACETEXT_IN, NULL, NULL
  1264. };
  1265.  
  1266. struct NewGadget LINKERNGad[] = {
  1267.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKLINKER, PLACETEXT_IN, NULL, NULL,
  1268.     10, 9, 191, 14, NULL, NULL, GD_LINKER, 0, NULL, NULL,
  1269.     313, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDOBJECT, PLACETEXT_IN, NULL, NULL,
  1270.     363, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELOBJECT, PLACETEXT_IN, NULL, NULL,
  1271.     221, 59, 191, 14, NULL, NULL, GD_EDITOBJECT, 0, NULL, NULL,
  1272.     221, 24, 191, 96, (UBYTE *)"Link with", NULL, GD_OBJECTS, PLACETEXT_ABOVE, NULL, NULL,
  1273.     518, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDLIBPATH, PLACETEXT_IN, NULL, NULL,
  1274.     568, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELLIBPATH, PLACETEXT_IN, NULL, NULL,
  1275.     426, 143, 191, 14, NULL, NULL, GD_EDITLIBPATH, 0, NULL, NULL,
  1276.     426, 24, 191, 96, (UBYTE *)"Folders", NULL, GD_LIBPATHS, PLACETEXT_ABOVE, NULL, NULL,
  1277.     10, 24, 191, 14, NULL, NULL, GD_STARTUPCODE, 0, NULL, NULL,
  1278.     10, 39, 191, 14, NULL, NULL, GD_STDLIBS, 0, NULL, NULL,
  1279.     10, 99, 191, 14, NULL, NULL, GD_STRIPSYMBOLS, 0, NULL, NULL,
  1280.     10, 84, 191, 14, NULL, NULL, GD_DYNAMICLINKING, 0, NULL, NULL,
  1281.     10, 129, 191, 14, NULL, NULL, GD_SHAREDOBJ, 0, NULL, NULL,
  1282.     10, 114, 191, 14, NULL, NULL, GD_SYMBOLICREFS, 0, NULL, NULL,
  1283.     10, 69, 191, 14, NULL, NULL, GD_IXEMUL, 0, NULL, NULL,
  1284.     10, 54, 191, 14, NULL, NULL, GD_DEFAULTLIBS, 0, NULL, NULL
  1285. };
  1286.  
  1287. struct NewGadget SPECIALNGad[] = {
  1288.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKSPECIAL, PLACETEXT_IN, NULL, NULL,
  1289.     136, 101, 381, 14, NULL, NULL, GD_EDITOPTION, 0, NULL, NULL,
  1290.     136, 24, 381, 112, (UBYTE *)"Other Options", NULL, GD_OPTIONS, PLACETEXT_ABOVE, NULL, NULL,
  1291.     419, 137, 49, 14, (UBYTE *)"+", NULL, GD_ADDOPTION, PLACETEXT_IN, NULL, NULL,
  1292.     468, 137, 49, 14, (UBYTE *)"X", NULL, GD_DELOPTION, PLACETEXT_IN, NULL, NULL
  1293. };
  1294.  
  1295. struct NewGadget PPCNGad[] = {
  1296.     261, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKPPC, PLACETEXT_IN, NULL, NULL,
  1297.     10, 39, 191, 14, NULL, NULL, GD_PPCBITALIGN, 0, NULL, NULL,
  1298.     431, 54, 191, 14, NULL, NULL, GD_PPCRELOCATABLE, 0, NULL, NULL,
  1299.     431, 39, 191, 14, NULL, NULL, GD_PPCFULLTOC, 0, NULL, NULL,
  1300.     10, 69, 191, 14, NULL, NULL, GD_PPCFMADD, 0, NULL, NULL,
  1301.     221, 39, 191, 14, NULL, NULL, GD_PPCABI, 0, NULL, NULL,
  1302.     10, 54, 191, 14, NULL, NULL, GD_PPCFPU, 0, NULL, NULL,
  1303.     10, 24, 191, 14, NULL, NULL, GD_PPCSTRICTALIGN, 0, NULL, NULL,
  1304.     431, 69, 191, 14, NULL, NULL, GD_PPCRELOCATABLELIB, 0, NULL, NULL,
  1305.     431, 24, 191, 14, NULL, NULL, GD_PPCTOC, 0, NULL, NULL,
  1306.     10, 9, 191, 14, NULL, NULL, GD_PPCENDIAN, 0, NULL, NULL,
  1307.     221, 9, 191, 14, NULL, NULL, GD_PPCCALL, 0, NULL, NULL,
  1308.     221, 24, 191, 14, NULL, NULL, GD_PPCPROTOTYPED, 0, NULL, NULL,
  1309.     221, 54, 191, 14, NULL, NULL, GD_PPCEABI, 0, NULL, NULL,
  1310.     431, 9, 191, 14, NULL, NULL, GD_PPCDATA, 0, NULL, NULL
  1311. };
  1312.  
  1313. struct NewGadget DEBUGGERNGad[] = {
  1314.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKDEBUGGER, PLACETEXT_IN, NULL, NULL,
  1315.     10, 24, 191, 14, NULL, NULL, GD_DEBUG, 0, NULL, NULL,
  1316.     221, 24, 191, 14, NULL, NULL, GD_PROFILE, 0, NULL, NULL,
  1317.     221, 39, 191, 14, NULL, NULL, GD_PROFILEBLOCKS, 0, NULL, NULL,
  1318.     221, 54, 191, 14, NULL, NULL, GD_ARCS, 0, NULL, NULL,
  1319.     221, 69, 191, 14, NULL, NULL, GD_COVERAGE, 0, NULL, NULL,
  1320.     10, 39, 191, 14, NULL, NULL, GD_DEBUGLEVEL, 0, NULL, NULL
  1321. };
  1322.  
  1323. struct NewGadget CPLUSPLUSNGad[] = {
  1324.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKCPLUSPLUS, PLACETEXT_IN, NULL, NULL,
  1325.     221, 9, 191, 14, NULL, NULL, GD_ACCESSCONTROL, 0, NULL, NULL,
  1326.     221, 24, 191, 14, NULL, NULL, GD_CHECKNEW, 0, NULL, NULL,
  1327.     431, 54, 191, 14, NULL, NULL, GD_ACCEPTDOLLAR, 0, NULL, NULL,
  1328.     10, 54, 191, 14, NULL, NULL, GD_FORSCOPE, 0, NULL, NULL,
  1329.     431, 69, 191, 14, NULL, NULL, GD_GNUKEYWORDS, 0, NULL, NULL,
  1330.     431, 99, 191, 14, NULL, NULL, GD_SIGNATURES, 0, NULL, NULL,
  1331.     10, 39, 191, 14, NULL, NULL, GD_STDNAMESPACE, 0, NULL, NULL,
  1332.     431, 9, 191, 14, NULL, NULL, GD_MANGLING, 0, NULL, NULL,
  1333.     431, 84, 191, 14, NULL, NULL, GD_OPERATORNAMES, 0, NULL, NULL,
  1334.     9, 9, 191, 14, NULL, NULL, GD_RTTI, 0, NULL, NULL,
  1335.     10, 24, 191, 14, NULL, NULL, GD_STRICTPROTOS, 0, NULL, NULL,
  1336.     431, 24, 191, 14, NULL, NULL, GD_LONGMANGLING, 0, NULL, NULL,
  1337.     221, 39, 191, 14, NULL, NULL, GD_ASSIGNTOTHIS, 0, NULL, NULL
  1338. };
  1339.  
  1340. struct NewGadget INLINENGad[] = {
  1341.     221, 39, 191, 14, NULL, NULL, GD_INLINECLASS, 0, NULL, NULL,
  1342.     221, 24, 191, 14, NULL, NULL, GD_INLINEDIRECTIVE, 0, NULL, NULL,
  1343.     221, 54, 191, 14, NULL, NULL, GD_DELETEINLINED, 0, NULL, NULL,
  1344.     221, 9, 191, 14, NULL, NULL, GD_AUTOINLINE, 0, NULL, NULL,
  1345.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKINLINE, PLACETEXT_IN, NULL, NULL,
  1346.     221, 99, 191, 14, (UBYTE *)"Inline limit", NULL, GD_INLINELIMIT, PLACETEXT_ABOVE, NULL, NULL
  1347. };
  1348.  
  1349. struct NewGadget DETAILSNGad[] = {
  1350.     263, 164, 111, 14, (UBYTE *)"BACK", NULL, GD_OKDETAILS, PLACETEXT_IN, NULL, NULL,
  1351.     221, 84, 191, 14, NULL, NULL, GD_STRENGTHREDUCE, 0, NULL, NULL,
  1352.     10, 39, 191, 14, NULL, NULL, GD_THREADJUMPS, 0, NULL, NULL,
  1353.     431, 39, 191, 14, NULL, NULL, GD_CSEFOLLOWJUMPS, 0, NULL, NULL,
  1354.     431, 54, 191, 14, NULL, NULL, GD_CSESKIPBLOCKS, 0, NULL, NULL,
  1355.     431, 24, 191, 14, NULL, NULL, GD_FUNCTIONCSE, 0, NULL, NULL,
  1356.     431, 69, 191, 14, NULL, NULL, GD_RERUNCSE, 0, NULL, NULL,
  1357.     221, 24, 191, 14, NULL, NULL, GD_RERUNLOOPOPT, 0, NULL, NULL,
  1358.     431, 84, 191, 14, NULL, NULL, GD_GLOBALCSEPASS, 0, NULL, NULL,
  1359.     10, 84, 191, 14, NULL, NULL, GD_OPTIMIZEMOVE, 0, NULL, NULL,
  1360.     10, 24, 191, 14, NULL, NULL, GD_DELAYEDBRANCH, 0, NULL, NULL,
  1361.     10, 114, 191, 14, NULL, NULL, GD_SEPARATEFUNCS, 0, NULL, NULL,
  1362.     221, 39, 191, 14, NULL, NULL, GD_UNROLLLOOPS, 0, NULL, NULL,
  1363.     221, 54, 191, 14, NULL, NULL, GD_UNROLLALLLOOPS, 0, NULL, NULL,
  1364.     221, 69, 191, 14, NULL, NULL, GD_MOVEMOVEABLE, 0, NULL, NULL,
  1365.     221, 99, 191, 14, NULL, NULL, GD_REDUCEALLVARS, 0, NULL, NULL,
  1366.     10, 54, 191, 14, NULL, NULL, GD_BRANCHPROBABILITY, 0, NULL, NULL,
  1367.     10, 99, 191, 14, NULL, NULL, GD_KEEPCONST, 0, NULL, NULL,
  1368.     10, 129, 191, 14, NULL, NULL, GD_SEPARATEDATA, 0, NULL, NULL
  1369. };
  1370.  
  1371. struct NewGadget PREPROCESSORNGad[] = {
  1372.     263, 163, 111, 14, (UBYTE *)"BACK", NULL, GD_OKPREPROCESSOR, PLACETEXT_IN, NULL, NULL,
  1373.     10, 9, 191, 14, NULL, NULL, GD_STRIPCOMMENTS, 0, NULL, NULL,
  1374.     10, 24, 191, 14, NULL, NULL, GD_DEFINEMACROS, 0, NULL, NULL,
  1375.     10, 39, 191, 14, NULL, NULL, GD_LINENUMBERS, 0, NULL, NULL,
  1376.     313, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDDEFINE, PLACETEXT_IN, NULL, NULL,
  1377.     364, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELDEFINE, PLACETEXT_IN, NULL, NULL,
  1378.     221, 106, 191, 14, NULL, NULL, GD_EDITDEFINE, 0, NULL, NULL,
  1379.     221, 24, 191, 96, (UBYTE *)"Define", NULL, GD_DEFINES, PLACETEXT_ABOVE, NULL, NULL,
  1380.     523, 121, 49, 14, (UBYTE *)"+", NULL, GD_ADDUNDEFINE, PLACETEXT_IN, NULL, NULL,
  1381.     574, 121, 49, 14, (UBYTE *)"X", NULL, GD_DELUNDEFINE, PLACETEXT_IN, NULL, NULL,
  1382.     431, 106, 191, 14, NULL, NULL, GD_EDITUNDEFINE, 0, NULL, NULL,
  1383.     431, 24, 191, 96, (UBYTE *)"Undefine", NULL, GD_UNDEFINES, PLACETEXT_ABOVE, NULL, NULL,
  1384.     10, 54, 191, 14, NULL, NULL, GD_TRADITIONALCPP, 0, NULL, NULL
  1385. };
  1386.  
  1387. struct NewGadget M68KNGad[] = {
  1388.     263, 165, 111, 14, (UBYTE *)"BACK", NULL, GD_OKM68K, PLACETEXT_IN, NULL, NULL,
  1389.     221, 39, 191, 14, NULL, NULL, GD_M68KFPU, 0, NULL, NULL,
  1390.     221, 24, 191, 14, NULL, NULL, GD_CPU, 0, NULL, NULL,
  1391.     221, 54, 191, 14, NULL, NULL, GD_M68KSOFTFLOAT, 0, NULL, NULL,
  1392.     10, 69, 191, 14, NULL, NULL, GD_M68KLONGINT, 0, NULL, NULL,
  1393.     431, 84, 191, 14, NULL, NULL, GD_M68KRTS, 0, NULL, NULL,
  1394.     10, 54, 191, 14, NULL, NULL, GD_M68KALIGN, 0, NULL, NULL,
  1395.     10, 24, 191, 14, NULL, NULL, GD_M68KFARCODE, 0, NULL, NULL,
  1396.     10, 39, 191, 14, NULL, NULL, GD_M68KFARDATA, 0, NULL, NULL,
  1397.     431, 39, 191, 14, NULL, NULL, GD_M68KSTACKCHECK, 0, NULL, NULL,
  1398.     431, 54, 191, 14, NULL, NULL, GD_M68KSTACKEXTEND, 0, NULL, NULL,
  1399.     431, 69, 191, 14, NULL, NULL, GD_M68KRELOADA4, 0, NULL, NULL,
  1400.     431, 24, 191, 14, NULL, NULL, GD_M68KPARMS, 0, NULL, NULL,
  1401.     221, 134, 191, 14, (UBYTE *)"PPC Options...", NULL, GD_PPC, PLACETEXT_IN, NULL, NULL
  1402. };
  1403.  
  1404. ULONG INDEXGTags[] = {
  1405.     (TAG_DONE),
  1406.     (GTCY_Labels), (ULONG)&VERBOSE0Labels[ 0 ], (TAG_DONE),
  1407.     (TAG_DONE),
  1408.     (TAG_DONE),
  1409.     (TAG_DONE),
  1410.     (GTCY_Labels), (ULONG)&OPTIMIZE0Labels[ 0 ], (TAG_DONE),
  1411.     (TAG_DONE),
  1412.     (TAG_DONE),
  1413.     (GTCY_Labels), (ULONG)&LINK0Labels[ 0 ], (TAG_DONE),
  1414.     (TAG_DONE),
  1415.     (TAG_DONE),
  1416.     (TAG_DONE),
  1417.     (TAG_DONE),
  1418.     (TAG_DONE),
  1419.     (TAG_DONE),
  1420.     (GTST_MaxChars), 256, (TAG_DONE),
  1421.     (GTCY_Labels), (ULONG)&DEBUGINFO0Labels[ 0 ], (TAG_DONE),
  1422.     (TAG_DONE),
  1423.     (GTCY_Labels), (ULONG)&PROCESSOR0Labels[ 0 ], (TAG_DONE)
  1424. };
  1425.  
  1426. ULONG COMPILERGTags[] = {
  1427.     (GTST_MaxChars), 256, (TAG_DONE),
  1428.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1429.     (TAG_DONE),
  1430.     (TAG_DONE),
  1431.     (GTST_MaxChars), 256, (TAG_DONE),
  1432.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1433.     (TAG_DONE),
  1434.     (TAG_DONE),
  1435.     (TAG_DONE),
  1436.     (GTCY_Labels), (ULONG)&COMPILE1Labels[ 0 ], (TAG_DONE),
  1437.     (GTCY_Labels), (ULONG)&ASSEMBLE1Labels[ 0 ], (TAG_DONE),
  1438.     (GTCY_Labels), (ULONG)&INTERMEDIATEFILES1Labels[ 0 ], (TAG_DONE),
  1439.     (GTST_MaxChars), 256, (TAG_DONE),
  1440.     (TAG_DONE),
  1441.     (GTCY_Labels), (ULONG)&DELETEINTERMEDIATE1Labels[ 0 ], (TAG_DONE),
  1442.     (GTCY_Labels), (ULONG)&AUTODETECT1Labels[ 0 ], (TAG_DONE),
  1443.     (GTCY_Labels), (ULONG)&STDINCLUDES1Labels[ 0 ], (TAG_DONE)
  1444. };
  1445.  
  1446. ULONG MESSAGESGTags[] = {
  1447.     (TAG_DONE),
  1448.     (TAG_DONE),
  1449.     (TAG_DONE),
  1450.     (GTST_MaxChars), 256, (TAG_DONE),
  1451.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1452.     (TAG_DONE),
  1453.     (TAG_DONE),
  1454.     (GTST_MaxChars), 256, (TAG_DONE),
  1455.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1456.     (GTCY_Labels), (ULONG)&PEDANTIC2Labels[ 0 ], (TAG_DONE),
  1457.     (GTCY_Labels), (ULONG)&WARNINGS2Labels[ 0 ], (TAG_DONE),
  1458.     (GTCY_Labels), (ULONG)&EXTRAWARNINGS2Labels[ 0 ], (TAG_DONE),
  1459.     (GTCY_Labels), (ULONG)&ABORT2Labels[ 0 ], (TAG_DONE),
  1460.     (GTCY_Labels), (ULONG)&PERMISSIVECPP2Labels[ 0 ], (TAG_DONE),
  1461.     (GTCY_Labels), (ULONG)&DIAGNOSTICS2Labels[ 0 ], (TAG_DONE)
  1462. };
  1463.  
  1464. ULONG LANGUAGEGTags[] = {
  1465.     (TAG_DONE),
  1466.     (GTCY_Labels), (ULONG)&ANSI3Labels[ 0 ], (TAG_DONE),
  1467.     (GTCY_Labels), (ULONG)&LANGUAGE3Labels[ 0 ], (TAG_DONE),
  1468.     (GTCY_Labels), (ULONG)&INLINEASM3Labels[ 0 ], (TAG_DONE),
  1469.     (GTCY_Labels), (ULONG)&BUILTIN3Labels[ 0 ], (TAG_DONE),
  1470.     (GTCY_Labels), (ULONG)&FREESTANDING3Labels[ 0 ], (TAG_DONE),
  1471.     (GTCY_Labels), (ULONG)&TRIGRAPHS3Labels[ 0 ], (TAG_DONE),
  1472.     (GTCY_Labels), (ULONG)&TRADITIONAL3Labels[ 0 ], (TAG_DONE),
  1473.     (GTCY_Labels), (ULONG)&CHAR3Labels[ 0 ], (TAG_DONE),
  1474.     (GTCY_Labels), (ULONG)&BITFIELD3Labels[ 0 ], (TAG_DONE),
  1475.     (GTCY_Labels), (ULONG)&CONSTSTRINGS3Labels[ 0 ], (TAG_DONE),
  1476.     (GTCY_Labels), (ULONG)&PROMOTEDOUBLE3Labels[ 0 ], (TAG_DONE),
  1477.     (TAG_DONE)
  1478. };
  1479.  
  1480. ULONG OPTIMIZERGTags[] = {
  1481.     (TAG_DONE),
  1482.     (GTCY_Labels), (ULONG)&FASTCONSTRUCTOR4Labels[ 0 ], (TAG_DONE),
  1483.     (GTCY_Labels), (ULONG)&IMPLICITETEMPLATES4Labels[ 0 ], (TAG_DONE),
  1484.     (GTCY_Labels), (ULONG)&OPTIMIZER4Labels[ 0 ], (TAG_DONE),
  1485.     (GTCY_Labels), (ULONG)&FLOATSINFPU4Labels[ 0 ], (TAG_DONE),
  1486.     (GTCY_Labels), (ULONG)&DEFERPOP4Labels[ 0 ], (TAG_DONE),
  1487.     (GTCY_Labels), (ULONG)©OPERANDS4Labels[ 0 ], (TAG_DONE),
  1488.     (GTCY_Labels), (ULONG)©POINTERS4Labels[ 0 ], (TAG_DONE),
  1489.     (GTCY_Labels), (ULONG)&FRAMEPOINTER4Labels[ 0 ], (TAG_DONE),
  1490.     (GTCY_Labels), (ULONG)&FASTMATH4Labels[ 0 ], (TAG_DONE),
  1491.     (GTCY_Labels), (ULONG)&SAVEREGISTERS4Labels[ 0 ], (TAG_DONE),
  1492.     (GTCY_Labels), (ULONG)&PEEPHOLE4Labels[ 0 ], (TAG_DONE),
  1493.     (GTCY_Labels), (ULONG)&SCHEDULER4Labels[ 0 ], (TAG_DONE),
  1494.     (GTCY_Labels), (ULONG)&EXPENSIVEOPT4Labels[ 0 ], (TAG_DONE),
  1495.     (GTCY_Labels), (ULONG)&ALIASING4Labels[ 0 ], (TAG_DONE),
  1496.     (TAG_DONE)
  1497. };
  1498.  
  1499. ULONG LINKERGTags[] = {
  1500.     (TAG_DONE),
  1501.     (GTCY_Labels), (ULONG)&LINKER5Labels[ 0 ], (TAG_DONE),
  1502.     (TAG_DONE),
  1503.     (TAG_DONE),
  1504.     (GTST_MaxChars), 256, (TAG_DONE),
  1505.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1506.     (TAG_DONE),
  1507.     (TAG_DONE),
  1508.     (GTST_MaxChars), 256, (TAG_DONE),
  1509.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1510.     (GTCY_Labels), (ULONG)&STARTUPCODE5Labels[ 0 ], (TAG_DONE),
  1511.     (GTCY_Labels), (ULONG)&STDLIBS5Labels[ 0 ], (TAG_DONE),
  1512.     (GTCY_Labels), (ULONG)&STRIPSYMBOLS5Labels[ 0 ], (TAG_DONE),
  1513.     (GTCY_Labels), (ULONG)&DYNAMICLINKING5Labels[ 0 ], (TAG_DONE),
  1514.     (GTCY_Labels), (ULONG)&SHAREDOBJ5Labels[ 0 ], (TAG_DONE),
  1515.     (GTCY_Labels), (ULONG)&SYMBOLICREFS5Labels[ 0 ], (TAG_DONE),
  1516.     (GTCY_Labels), (ULONG)&IXEMUL5Labels[ 0 ], (TAG_DONE),
  1517.     (GTCY_Labels), (ULONG)&DEFAULTLIBS5Labels[ 0 ], (TAG_DONE)
  1518. };
  1519.  
  1520. ULONG SPECIALGTags[] = {
  1521.     (TAG_DONE),
  1522.     (GTST_MaxChars), 256, (TAG_DONE),
  1523.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1524.     (TAG_DONE),
  1525.     (TAG_DONE)
  1526. };
  1527.  
  1528. ULONG PPCGTags[] = {
  1529.     (TAG_DONE),
  1530.     (GTCY_Labels), (ULONG)&PPCBITALIGN7Labels[ 0 ], (TAG_DONE),
  1531.     (GTCY_Labels), (ULONG)&PPCRELOCATABLE7Labels[ 0 ], (TAG_DONE),
  1532.     (GTCY_Labels), (ULONG)&PPCFULLTOC7Labels[ 0 ], (TAG_DONE),
  1533.     (GTCY_Labels), (ULONG)&PPCFMADD7Labels[ 0 ], (TAG_DONE),
  1534.     (GTCY_Labels), (ULONG)&PPCABI7Labels[ 0 ], (TAG_DONE),
  1535.     (GTCY_Labels), (ULONG)&PPCFPU7Labels[ 0 ], (TAG_DONE),
  1536.     (GTCY_Labels), (ULONG)&PPCSTRICTALIGN7Labels[ 0 ], (TAG_DONE),
  1537.     (GTCY_Labels), (ULONG)&PPCRELOCATABLELIB7Labels[ 0 ], (TAG_DONE),
  1538.     (GTCY_Labels), (ULONG)&PPCTOC7Labels[ 0 ], (TAG_DONE),
  1539.     (GTCY_Labels), (ULONG)&PPCENDIAN7Labels[ 0 ], (TAG_DONE),
  1540.     (GTCY_Labels), (ULONG)&PPCCALL7Labels[ 0 ], (TAG_DONE),
  1541.     (GTCY_Labels), (ULONG)&PPCPROTOTYPED7Labels[ 0 ], (TAG_DONE),
  1542.     (GTCY_Labels), (ULONG)&PPCEABI7Labels[ 0 ], (TAG_DONE),
  1543.     (GTCY_Labels), (ULONG)&PPCDATA7Labels[ 0 ], (TAG_DONE)
  1544. };
  1545.  
  1546. ULONG DEBUGGERGTags[] = {
  1547.     (TAG_DONE),
  1548.     (GTCY_Labels), (ULONG)&DEBUG8Labels[ 0 ], (TAG_DONE),
  1549.     (GTCY_Labels), (ULONG)&PROFILE8Labels[ 0 ], (TAG_DONE),
  1550.     (GTCY_Labels), (ULONG)&PROFILEBLOCKS8Labels[ 0 ], (TAG_DONE),
  1551.     (GTCY_Labels), (ULONG)&ARCS8Labels[ 0 ], (TAG_DONE),
  1552.     (GTCY_Labels), (ULONG)&COVERAGE8Labels[ 0 ], (TAG_DONE),
  1553.     (GTCY_Labels), (ULONG)&DEBUGLEVEL8Labels[ 0 ], (TAG_DONE)
  1554. };
  1555.  
  1556. ULONG CPLUSPLUSGTags[] = {
  1557.     (TAG_DONE),
  1558.     (GTCY_Labels), (ULONG)&ACCESSCONTROL9Labels[ 0 ], (TAG_DONE),
  1559.     (GTCY_Labels), (ULONG)&CHECKNEW9Labels[ 0 ], (TAG_DONE),
  1560.     (GTCY_Labels), (ULONG)&ACCEPTDOLLAR9Labels[ 0 ], (TAG_DONE),
  1561.     (GTCY_Labels), (ULONG)&FORSCOPE9Labels[ 0 ], (TAG_DONE),
  1562.     (GTCY_Labels), (ULONG)&GNUKEYWORDS9Labels[ 0 ], (TAG_DONE),
  1563.     (GTCY_Labels), (ULONG)&SIGNATURES9Labels[ 0 ], (TAG_DONE),
  1564.     (GTCY_Labels), (ULONG)&STDNAMESPACE9Labels[ 0 ], (TAG_DONE),
  1565.     (GTCY_Labels), (ULONG)&MANGLING9Labels[ 0 ], (TAG_DONE),
  1566.     (GTCY_Labels), (ULONG)&OPERATORNAMES9Labels[ 0 ], (TAG_DONE),
  1567.     (GTCY_Labels), (ULONG)&RTTI9Labels[ 0 ], (TAG_DONE),
  1568.     (GTCY_Labels), (ULONG)&STRICTPROTOS9Labels[ 0 ], (TAG_DONE),
  1569.     (GTCY_Labels), (ULONG)&LONGMANGLING9Labels[ 0 ], (TAG_DONE),
  1570.     (GTCY_Labels), (ULONG)&ASSIGNTOTHIS9Labels[ 0 ], (TAG_DONE)
  1571. };
  1572.  
  1573. ULONG INLINEGTags[] = {
  1574.     (GTCY_Labels), (ULONG)&INLINECLASS10Labels[ 0 ], (TAG_DONE),
  1575.     (GTCY_Labels), (ULONG)&INLINEDIRECTIVE10Labels[ 0 ], (TAG_DONE),
  1576.     (GTCY_Labels), (ULONG)&DELETEINLINED10Labels[ 0 ], (TAG_DONE),
  1577.     (GTCY_Labels), (ULONG)&AUTOINLINE10Labels[ 0 ], (TAG_DONE),
  1578.     (TAG_DONE),
  1579.     (GTST_MaxChars), 256, (TAG_DONE)
  1580. };
  1581.  
  1582. ULONG DETAILSGTags[] = {
  1583.     (TAG_DONE),
  1584.     (GTCY_Labels), (ULONG)&STRENGTHREDUCE11Labels[ 0 ], (TAG_DONE),
  1585.     (GTCY_Labels), (ULONG)&THREADJUMPS11Labels[ 0 ], (TAG_DONE),
  1586.     (GTCY_Labels), (ULONG)&CSEFOLLOWJUMPS11Labels[ 0 ], (TAG_DONE),
  1587.     (GTCY_Labels), (ULONG)&CSESKIPBLOCKS11Labels[ 0 ], (TAG_DONE),
  1588.     (GTCY_Labels), (ULONG)&FUNCTIONCSE11Labels[ 0 ], (TAG_DONE),
  1589.     (GTCY_Labels), (ULONG)&RERUNCSE11Labels[ 0 ], (TAG_DONE),
  1590.     (GTCY_Labels), (ULONG)&RERUNLOOPOPT11Labels[ 0 ], (TAG_DONE),
  1591.     (GTCY_Labels), (ULONG)&GLOBALCSEPASS11Labels[ 0 ], (TAG_DONE),
  1592.     (GTCY_Labels), (ULONG)&OPTIMIZEMOVE11Labels[ 0 ], (TAG_DONE),
  1593.     (GTCY_Labels), (ULONG)&DELAYEDBRANCH11Labels[ 0 ], (TAG_DONE),
  1594.     (GTCY_Labels), (ULONG)&SEPARATEFUNCS11Labels[ 0 ], (TAG_DONE),
  1595.     (GTCY_Labels), (ULONG)&UNROLLLOOPS11Labels[ 0 ], (TAG_DONE),
  1596.     (GTCY_Labels), (ULONG)&UNROLLALLLOOPS11Labels[ 0 ], (TAG_DONE),
  1597.     (GTCY_Labels), (ULONG)&MOVEMOVEABLE11Labels[ 0 ], (TAG_DONE),
  1598.     (GTCY_Labels), (ULONG)&REDUCEALLVARS11Labels[ 0 ], (TAG_DONE),
  1599.     (GTCY_Labels), (ULONG)&BRANCHPROBABILITY11Labels[ 0 ], (TAG_DONE),
  1600.     (GTCY_Labels), (ULONG)&KEEPCONST11Labels[ 0 ], (TAG_DONE),
  1601.     (GTCY_Labels), (ULONG)&SEPARATEDATA11Labels[ 0 ], (TAG_DONE)
  1602. };
  1603.  
  1604. ULONG PREPROCESSORGTags[] = {
  1605.     (TAG_DONE),
  1606.     (GTCY_Labels), (ULONG)&STRIPCOMMENTS12Labels[ 0 ], (TAG_DONE),
  1607.     (GTCY_Labels), (ULONG)&DEFINEMACROS12Labels[ 0 ], (TAG_DONE),
  1608.     (GTCY_Labels), (ULONG)&LINENUMBERS12Labels[ 0 ], (TAG_DONE),
  1609.     (TAG_DONE),
  1610.     (TAG_DONE),
  1611.     (GTST_MaxChars), 256, (TAG_DONE),
  1612.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1613.     (TAG_DONE),
  1614.     (TAG_DONE),
  1615.     (GTST_MaxChars), 256, (TAG_DONE),
  1616.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  1617.     (GTCY_Labels), (ULONG)&TRADITIONALCPP12Labels[ 0 ], (TAG_DONE)
  1618. };
  1619.  
  1620. ULONG M68KGTags[] = {
  1621.     (TAG_DONE),
  1622.     (GTCY_Labels), (ULONG)&M68KFPU13Labels[ 0 ], (TAG_DONE),
  1623.     (GTCY_Labels), (ULONG)&CPU13Labels[ 0 ], (TAG_DONE),
  1624.     (GTCY_Labels), (ULONG)&M68KSOFTFLOAT13Labels[ 0 ], (TAG_DONE),
  1625.     (GTCY_Labels), (ULONG)&M68KLONGINT13Labels[ 0 ], (TAG_DONE),
  1626.     (GTCY_Labels), (ULONG)&M68KRTS13Labels[ 0 ], (TAG_DONE),
  1627.     (GTCY_Labels), (ULONG)&M68KALIGN13Labels[ 0 ], (TAG_DONE),
  1628.     (GTCY_Labels), (ULONG)&M68KFARCODE13Labels[ 0 ], (TAG_DONE),
  1629.     (GTCY_Labels), (ULONG)&M68KFARDATA13Labels[ 0 ], (TAG_DONE),
  1630.     (GTCY_Labels), (ULONG)&M68KSTACKCHECK13Labels[ 0 ], (TAG_DONE),
  1631.     (GTCY_Labels), (ULONG)&M68KSTACKEXTEND13Labels[ 0 ], (TAG_DONE),
  1632.     (GTCY_Labels), (ULONG)&M68KRELOADA413Labels[ 0 ], (TAG_DONE),
  1633.     (GTCY_Labels), (ULONG)&M68KPARMS13Labels[ 0 ], (TAG_DONE),
  1634.     (TAG_DONE)
  1635. };
  1636.  
  1637. int SetupScreen( void )
  1638. {
  1639.     if ( ! ( Scr = LockPubScreen( PubScreenName )))
  1640.         return( 1L );
  1641.  
  1642.     if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  1643.         return( 2L );
  1644.  
  1645.     return( 0L );
  1646. }
  1647.  
  1648. void CloseDownScreen( void )
  1649. {
  1650.     if ( VisualInfo ) {
  1651.         FreeVisualInfo( VisualInfo );
  1652.         VisualInfo = NULL;
  1653.     }
  1654.  
  1655.     if ( Scr        ) {
  1656.         UnlockPubScreen( NULL, Scr );
  1657.         Scr = NULL;
  1658.     }
  1659. }
  1660.  
  1661. int OpenINDEXWindow( void )
  1662. {
  1663.     struct NewGadget    ng;
  1664.     struct Gadget    *g;
  1665.     struct TagItem    *tmp;
  1666.     UWORD        lc, tc;
  1667.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  1668.  
  1669.     if ( ! ( g = CreateContext( &INDEXGList )))
  1670.         return( 1L );
  1671.  
  1672.     for( lc = 0, tc = 0; lc < INDEX_CNT; lc++ ) {
  1673.  
  1674.         CopyMem((char * )&INDEXNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  1675.  
  1676.         ng.ng_VisualInfo = VisualInfo;
  1677.         ng.ng_TextAttr   = &topaz8;
  1678.         ng.ng_LeftEdge  += offx;
  1679.         ng.ng_TopEdge   += offy;
  1680.  
  1681.         INDEXGadgets[ lc ] = g = CreateGadgetA((ULONG)INDEXGTypes[ lc ], g, &ng, ( struct TagItem * )&INDEXGTags[ tc ] );
  1682.  
  1683.         while( INDEXGTags[ tc ] ) tc += 2;
  1684.         tc++;
  1685.  
  1686.         if ( NOT g )
  1687.             return( 2L );
  1688.     }
  1689.  
  1690.     if ( ! ( INDEXWnd = OpenWindowTags( NULL,
  1691.                 WA_Left,    INDEXLeft,
  1692.                 WA_Top,        INDEXTop,
  1693.                 WA_Width,    INDEXWidth,
  1694.                 WA_Height,    INDEXHeight + offy,
  1695.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|STRINGIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  1696.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  1697.                 WA_Gadgets,    INDEXGList,
  1698.                 WA_Title,    INDEXWdt,
  1699.                 WA_PubScreen,    Scr,
  1700.                 TAG_DONE )))
  1701.     return( 4L );
  1702.  
  1703.     GT_RefreshWindow( INDEXWnd, NULL );
  1704.  
  1705.     return( 0L );
  1706. }
  1707.  
  1708. void CloseINDEXWindow( void )
  1709. {
  1710.     if ( INDEXWnd        ) {
  1711.         CloseWindow( INDEXWnd );
  1712.         INDEXWnd = NULL;
  1713.     }
  1714.  
  1715.     if ( INDEXGList      ) {
  1716.         FreeGadgets( INDEXGList );
  1717.         INDEXGList = NULL;
  1718.     }
  1719. }
  1720.  
  1721. int OpenCOMPILERWindow( void )
  1722. {
  1723.     struct NewGadget    ng;
  1724.     struct Gadget    *g;
  1725.     struct TagItem    *tmp;
  1726.     UWORD        lc, tc;
  1727.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  1728.  
  1729.     if ( ! ( g = CreateContext( &COMPILERGList )))
  1730.         return( 1L );
  1731.  
  1732.     for( lc = 0, tc = 0; lc < COMPILER_CNT; lc++ ) {
  1733.  
  1734.         CopyMem((char * )&COMPILERNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  1735.  
  1736.         ng.ng_VisualInfo = VisualInfo;
  1737.         ng.ng_TextAttr   = &topaz8;
  1738.         ng.ng_LeftEdge  += offx;
  1739.         ng.ng_TopEdge   += offy;
  1740.  
  1741.         if ( COMPILERGTypes[ lc ] == LISTVIEW_KIND ) {
  1742.             if ( tmp = FindTagItem( GTLV_ShowSelected, ( struct TagItem * )&COMPILERGTags[ tc ] )) {
  1743.                 if ( tmp->ti_Data ) tmp->ti_Data = (ULONG)g;
  1744.             }
  1745.         }
  1746.  
  1747.         COMPILERGadgets[ lc ] = g = CreateGadgetA((ULONG)COMPILERGTypes[ lc ], g, &ng, ( struct TagItem * )&COMPILERGTags[ tc ] );
  1748.  
  1749.         while( COMPILERGTags[ tc ] ) tc += 2;
  1750.         tc++;
  1751.  
  1752.         if ( NOT g )
  1753.             return( 2L );
  1754.     }
  1755.  
  1756.     if ( ! ( COMPILERWnd = OpenWindowTags( NULL,
  1757.                 WA_Left,    COMPILERLeft,
  1758.                 WA_Top,        COMPILERTop,
  1759.                 WA_Width,    COMPILERWidth,
  1760.                 WA_Height,    COMPILERHeight + offy,
  1761.                 WA_IDCMP,    STRINGIDCMP|LISTVIEWIDCMP|BUTTONIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  1762.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  1763.                 WA_Gadgets,    COMPILERGList,
  1764.                 WA_Title,    COMPILERWdt,
  1765.                 WA_PubScreen,    Scr,
  1766.                 TAG_DONE )))
  1767.     return( 4L );
  1768.  
  1769.     GT_RefreshWindow( COMPILERWnd, NULL );
  1770.  
  1771.     return( 0L );
  1772. }
  1773.  
  1774. void CloseCOMPILERWindow( void )
  1775. {
  1776.     if ( COMPILERWnd        ) {
  1777.         CloseWindow( COMPILERWnd );
  1778.         COMPILERWnd = NULL;
  1779.     }
  1780.  
  1781.     if ( COMPILERGList      ) {
  1782.         FreeGadgets( COMPILERGList );
  1783.         COMPILERGList = NULL;
  1784.     }
  1785. }
  1786.  
  1787. int OpenMESSAGESWindow( void )
  1788. {
  1789.     struct NewGadget    ng;
  1790.     struct Gadget    *g;
  1791.     struct TagItem    *tmp;
  1792.     UWORD        lc, tc;
  1793.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  1794.  
  1795.     if ( ! ( g = CreateContext( &MESSAGESGList )))
  1796.         return( 1L );
  1797.  
  1798.     for( lc = 0, tc = 0; lc < MESSAGES_CNT; lc++ ) {
  1799.  
  1800.         CopyMem((char * )&MESSAGESNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  1801.  
  1802.         ng.ng_VisualInfo = VisualInfo;
  1803.         ng.ng_TextAttr   = &topaz8;
  1804.         ng.ng_LeftEdge  += offx;
  1805.         ng.ng_TopEdge   += offy;
  1806.  
  1807.         if ( MESSAGESGTypes[ lc ] == LISTVIEW_KIND ) {
  1808.             if ( tmp = FindTagItem( GTLV_ShowSelected, ( struct TagItem * )&MESSAGESGTags[ tc ] )) {
  1809.                 if ( tmp->ti_Data ) tmp->ti_Data = (ULONG)g;
  1810.             }
  1811.         }
  1812.  
  1813.         MESSAGESGadgets[ lc ] = g = CreateGadgetA((ULONG)MESSAGESGTypes[ lc ], g, &ng, ( struct TagItem * )&MESSAGESGTags[ tc ] );
  1814.  
  1815.         while( MESSAGESGTags[ tc ] ) tc += 2;
  1816.         tc++;
  1817.  
  1818.         if ( NOT g )
  1819.             return( 2L );
  1820.     }
  1821.  
  1822.     if ( ! ( MESSAGESWnd = OpenWindowTags( NULL,
  1823.                 WA_Left,    MESSAGESLeft,
  1824.                 WA_Top,        MESSAGESTop,
  1825.                 WA_Width,    MESSAGESWidth,
  1826.                 WA_Height,    MESSAGESHeight + offy,
  1827.                 WA_IDCMP,    BUTTONIDCMP|STRINGIDCMP|LISTVIEWIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  1828.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  1829.                 WA_Gadgets,    MESSAGESGList,
  1830.                 WA_Title,    MESSAGESWdt,
  1831.                 WA_PubScreen,    Scr,
  1832.                 TAG_DONE )))
  1833.     return( 4L );
  1834.  
  1835.     GT_RefreshWindow( MESSAGESWnd, NULL );
  1836.  
  1837.     return( 0L );
  1838. }
  1839.  
  1840. void CloseMESSAGESWindow( void )
  1841. {
  1842.     if ( MESSAGESWnd        ) {
  1843.         CloseWindow( MESSAGESWnd );
  1844.         MESSAGESWnd = NULL;
  1845.     }
  1846.  
  1847.     if ( MESSAGESGList      ) {
  1848.         FreeGadgets( MESSAGESGList );
  1849.         MESSAGESGList = NULL;
  1850.     }
  1851. }
  1852.  
  1853. void LANGUAGERender( void )
  1854. {
  1855.     UWORD        offx, offy;
  1856.  
  1857.     offx = LANGUAGEWnd->BorderLeft;
  1858.     offy = LANGUAGEWnd->BorderTop;
  1859.  
  1860.     PrintIText( LANGUAGEWnd->RPort, LANGUAGEIText, offx, offy );
  1861. }
  1862.  
  1863. int OpenLANGUAGEWindow( void )
  1864. {
  1865.     struct NewGadget    ng;
  1866.     struct Gadget    *g;
  1867.     struct TagItem    *tmp;
  1868.     UWORD        lc, tc;
  1869.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  1870.  
  1871.     if ( ! ( g = CreateContext( &LANGUAGEGList )))
  1872.         return( 1L );
  1873.  
  1874.     for( lc = 0, tc = 0; lc < LANGUAGE_CNT; lc++ ) {
  1875.  
  1876.         CopyMem((char * )&LANGUAGENGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  1877.  
  1878.         ng.ng_VisualInfo = VisualInfo;
  1879.         ng.ng_TextAttr   = &topaz8;
  1880.         ng.ng_LeftEdge  += offx;
  1881.         ng.ng_TopEdge   += offy;
  1882.  
  1883.         LANGUAGEGadgets[ lc ] = g = CreateGadgetA((ULONG)LANGUAGEGTypes[ lc ], g, &ng, ( struct TagItem * )&LANGUAGEGTags[ tc ] );
  1884.  
  1885.         while( LANGUAGEGTags[ tc ] ) tc += 2;
  1886.         tc++;
  1887.  
  1888.         if ( NOT g )
  1889.             return( 2L );
  1890.     }
  1891.  
  1892.     if ( ! ( LANGUAGEWnd = OpenWindowTags( NULL,
  1893.                 WA_Left,    LANGUAGELeft,
  1894.                 WA_Top,        LANGUAGETop,
  1895.                 WA_Width,    LANGUAGEWidth,
  1896.                 WA_Height,    LANGUAGEHeight + offy,
  1897.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  1898.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  1899.                 WA_Gadgets,    LANGUAGEGList,
  1900.                 WA_Title,    LANGUAGEWdt,
  1901.                 WA_PubScreen,    Scr,
  1902.                 TAG_DONE )))
  1903.     return( 4L );
  1904.  
  1905.     GT_RefreshWindow( LANGUAGEWnd, NULL );
  1906.  
  1907.     LANGUAGERender();
  1908.  
  1909.     return( 0L );
  1910. }
  1911.  
  1912. void CloseLANGUAGEWindow( void )
  1913. {
  1914.     if ( LANGUAGEWnd        ) {
  1915.         CloseWindow( LANGUAGEWnd );
  1916.         LANGUAGEWnd = NULL;
  1917.     }
  1918.  
  1919.     if ( LANGUAGEGList      ) {
  1920.         FreeGadgets( LANGUAGEGList );
  1921.         LANGUAGEGList = NULL;
  1922.     }
  1923. }
  1924.  
  1925. void OPTIMIZERRender( void )
  1926. {
  1927.     UWORD        offx, offy;
  1928.  
  1929.     offx = OPTIMIZERWnd->BorderLeft;
  1930.     offy = OPTIMIZERWnd->BorderTop;
  1931.  
  1932.     PrintIText( OPTIMIZERWnd->RPort, OPTIMIZERIText, offx, offy );
  1933. }
  1934.  
  1935. int OpenOPTIMIZERWindow( void )
  1936. {
  1937.     struct NewGadget    ng;
  1938.     struct Gadget    *g;
  1939.     struct TagItem    *tmp;
  1940.     UWORD        lc, tc;
  1941.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  1942.  
  1943.     if ( ! ( g = CreateContext( &OPTIMIZERGList )))
  1944.         return( 1L );
  1945.  
  1946.     for( lc = 0, tc = 0; lc < OPTIMIZER_CNT; lc++ ) {
  1947.  
  1948.         CopyMem((char * )&OPTIMIZERNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  1949.  
  1950.         ng.ng_VisualInfo = VisualInfo;
  1951.         ng.ng_TextAttr   = &topaz8;
  1952.         ng.ng_LeftEdge  += offx;
  1953.         ng.ng_TopEdge   += offy;
  1954.  
  1955.         OPTIMIZERGadgets[ lc ] = g = CreateGadgetA((ULONG)OPTIMIZERGTypes[ lc ], g, &ng, ( struct TagItem * )&OPTIMIZERGTags[ tc ] );
  1956.  
  1957.         while( OPTIMIZERGTags[ tc ] ) tc += 2;
  1958.         tc++;
  1959.  
  1960.         if ( NOT g )
  1961.             return( 2L );
  1962.     }
  1963.  
  1964.     if ( ! ( OPTIMIZERWnd = OpenWindowTags( NULL,
  1965.                 WA_Left,    OPTIMIZERLeft,
  1966.                 WA_Top,        OPTIMIZERTop,
  1967.                 WA_Width,    OPTIMIZERWidth,
  1968.                 WA_Height,    OPTIMIZERHeight + offy,
  1969.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  1970.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  1971.                 WA_Gadgets,    OPTIMIZERGList,
  1972.                 WA_Title,    OPTIMIZERWdt,
  1973.                 WA_PubScreen,    Scr,
  1974.                 TAG_DONE )))
  1975.     return( 4L );
  1976.  
  1977.     GT_RefreshWindow( OPTIMIZERWnd, NULL );
  1978.  
  1979.     OPTIMIZERRender();
  1980.  
  1981.     return( 0L );
  1982. }
  1983.  
  1984. void CloseOPTIMIZERWindow( void )
  1985. {
  1986.     if ( OPTIMIZERWnd        ) {
  1987.         CloseWindow( OPTIMIZERWnd );
  1988.         OPTIMIZERWnd = NULL;
  1989.     }
  1990.  
  1991.     if ( OPTIMIZERGList      ) {
  1992.         FreeGadgets( OPTIMIZERGList );
  1993.         OPTIMIZERGList = NULL;
  1994.     }
  1995. }
  1996.  
  1997. int OpenLINKERWindow( void )
  1998. {
  1999.     struct NewGadget    ng;
  2000.     struct Gadget    *g;
  2001.     struct TagItem    *tmp;
  2002.     UWORD        lc, tc;
  2003.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2004.  
  2005.     if ( ! ( g = CreateContext( &LINKERGList )))
  2006.         return( 1L );
  2007.  
  2008.     for( lc = 0, tc = 0; lc < LINKER_CNT; lc++ ) {
  2009.  
  2010.         CopyMem((char * )&LINKERNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2011.  
  2012.         ng.ng_VisualInfo = VisualInfo;
  2013.         ng.ng_TextAttr   = &topaz8;
  2014.         ng.ng_LeftEdge  += offx;
  2015.         ng.ng_TopEdge   += offy;
  2016.  
  2017.         if ( LINKERGTypes[ lc ] == LISTVIEW_KIND ) {
  2018.             if ( tmp = FindTagItem( GTLV_ShowSelected, ( struct TagItem * )&LINKERGTags[ tc ] )) {
  2019.                 if ( tmp->ti_Data ) tmp->ti_Data = (ULONG)g;
  2020.             }
  2021.         }
  2022.  
  2023.         LINKERGadgets[ lc ] = g = CreateGadgetA((ULONG)LINKERGTypes[ lc ], g, &ng, ( struct TagItem * )&LINKERGTags[ tc ] );
  2024.  
  2025.         while( LINKERGTags[ tc ] ) tc += 2;
  2026.         tc++;
  2027.  
  2028.         if ( NOT g )
  2029.             return( 2L );
  2030.     }
  2031.  
  2032.     if ( ! ( LINKERWnd = OpenWindowTags( NULL,
  2033.                 WA_Left,    LINKERLeft,
  2034.                 WA_Top,        LINKERTop,
  2035.                 WA_Width,    LINKERWidth,
  2036.                 WA_Height,    LINKERHeight + offy,
  2037.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|STRINGIDCMP|LISTVIEWIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2038.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2039.                 WA_Gadgets,    LINKERGList,
  2040.                 WA_Title,    LINKERWdt,
  2041.                 WA_PubScreen,    Scr,
  2042.                 TAG_DONE )))
  2043.     return( 4L );
  2044.  
  2045.     GT_RefreshWindow( LINKERWnd, NULL );
  2046.  
  2047.     return( 0L );
  2048. }
  2049.  
  2050. void CloseLINKERWindow( void )
  2051. {
  2052.     if ( LINKERWnd        ) {
  2053.         CloseWindow( LINKERWnd );
  2054.         LINKERWnd = NULL;
  2055.     }
  2056.  
  2057.     if ( LINKERGList      ) {
  2058.         FreeGadgets( LINKERGList );
  2059.         LINKERGList = NULL;
  2060.     }
  2061. }
  2062.  
  2063. int OpenSPECIALWindow( void )
  2064. {
  2065.     struct NewGadget    ng;
  2066.     struct Gadget    *g;
  2067.     struct TagItem    *tmp;
  2068.     UWORD        lc, tc;
  2069.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2070.  
  2071.     if ( ! ( g = CreateContext( &SPECIALGList )))
  2072.         return( 1L );
  2073.  
  2074.     for( lc = 0, tc = 0; lc < SPECIAL_CNT; lc++ ) {
  2075.  
  2076.         CopyMem((char * )&SPECIALNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2077.  
  2078.         ng.ng_VisualInfo = VisualInfo;
  2079.         ng.ng_TextAttr   = &topaz8;
  2080.         ng.ng_LeftEdge  += offx;
  2081.         ng.ng_TopEdge   += offy;
  2082.  
  2083.         if ( SPECIALGTypes[ lc ] == LISTVIEW_KIND ) {
  2084.             if ( tmp = FindTagItem( GTLV_ShowSelected, ( struct TagItem * )&SPECIALGTags[ tc ] )) {
  2085.                 if ( tmp->ti_Data ) tmp->ti_Data = (ULONG)g;
  2086.             }
  2087.         }
  2088.  
  2089.         SPECIALGadgets[ lc ] = g = CreateGadgetA((ULONG)SPECIALGTypes[ lc ], g, &ng, ( struct TagItem * )&SPECIALGTags[ tc ] );
  2090.  
  2091.         while( SPECIALGTags[ tc ] ) tc += 2;
  2092.         tc++;
  2093.  
  2094.         if ( NOT g )
  2095.             return( 2L );
  2096.     }
  2097.  
  2098.     if ( ! ( SPECIALWnd = OpenWindowTags( NULL,
  2099.                 WA_Left,    SPECIALLeft,
  2100.                 WA_Top,        SPECIALTop,
  2101.                 WA_Width,    SPECIALWidth,
  2102.                 WA_Height,    SPECIALHeight + offy,
  2103.                 WA_IDCMP,    BUTTONIDCMP|STRINGIDCMP|LISTVIEWIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2104.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2105.                 WA_Gadgets,    SPECIALGList,
  2106.                 WA_Title,    SPECIALWdt,
  2107.                 WA_PubScreen,    Scr,
  2108.                 TAG_DONE )))
  2109.     return( 4L );
  2110.  
  2111.     GT_RefreshWindow( SPECIALWnd, NULL );
  2112.  
  2113.     return( 0L );
  2114. }
  2115.  
  2116. void CloseSPECIALWindow( void )
  2117. {
  2118.     if ( SPECIALWnd        ) {
  2119.         CloseWindow( SPECIALWnd );
  2120.         SPECIALWnd = NULL;
  2121.     }
  2122.  
  2123.     if ( SPECIALGList      ) {
  2124.         FreeGadgets( SPECIALGList );
  2125.         SPECIALGList = NULL;
  2126.     }
  2127. }
  2128.  
  2129. void PPCRender( void )
  2130. {
  2131.     UWORD        offx, offy;
  2132.  
  2133.     offx = PPCWnd->BorderLeft;
  2134.     offy = PPCWnd->BorderTop;
  2135.  
  2136.     PrintIText( PPCWnd->RPort, PPCIText, offx, offy );
  2137. }
  2138.  
  2139. int OpenPPCWindow( void )
  2140. {
  2141.     struct NewGadget    ng;
  2142.     struct Gadget    *g;
  2143.     struct TagItem    *tmp;
  2144.     UWORD        lc, tc;
  2145.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2146.  
  2147.     if ( ! ( g = CreateContext( &PPCGList )))
  2148.         return( 1L );
  2149.  
  2150.     for( lc = 0, tc = 0; lc < PPC_CNT; lc++ ) {
  2151.  
  2152.         CopyMem((char * )&PPCNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2153.  
  2154.         ng.ng_VisualInfo = VisualInfo;
  2155.         ng.ng_TextAttr   = &topaz8;
  2156.         ng.ng_LeftEdge  += offx;
  2157.         ng.ng_TopEdge   += offy;
  2158.  
  2159.         PPCGadgets[ lc ] = g = CreateGadgetA((ULONG)PPCGTypes[ lc ], g, &ng, ( struct TagItem * )&PPCGTags[ tc ] );
  2160.  
  2161.         while( PPCGTags[ tc ] ) tc += 2;
  2162.         tc++;
  2163.  
  2164.         if ( NOT g )
  2165.             return( 2L );
  2166.     }
  2167.  
  2168.     if ( ! ( PPCWnd = OpenWindowTags( NULL,
  2169.                 WA_Left,    PPCLeft,
  2170.                 WA_Top,        PPCTop,
  2171.                 WA_Width,    PPCWidth,
  2172.                 WA_Height,    PPCHeight + offy,
  2173.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2174.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2175.                 WA_Gadgets,    PPCGList,
  2176.                 WA_Title,    PPCWdt,
  2177.                 WA_PubScreen,    Scr,
  2178.                 TAG_DONE )))
  2179.     return( 4L );
  2180.  
  2181.     GT_RefreshWindow( PPCWnd, NULL );
  2182.  
  2183.     PPCRender();
  2184.  
  2185.     return( 0L );
  2186. }
  2187.  
  2188. void ClosePPCWindow( void )
  2189. {
  2190.     if ( PPCWnd        ) {
  2191.         CloseWindow( PPCWnd );
  2192.         PPCWnd = NULL;
  2193.     }
  2194.  
  2195.     if ( PPCGList      ) {
  2196.         FreeGadgets( PPCGList );
  2197.         PPCGList = NULL;
  2198.     }
  2199. }
  2200.  
  2201. void DEBUGGERRender( void )
  2202. {
  2203.     UWORD        offx, offy;
  2204.  
  2205.     offx = DEBUGGERWnd->BorderLeft;
  2206.     offy = DEBUGGERWnd->BorderTop;
  2207.  
  2208.     PrintIText( DEBUGGERWnd->RPort, DEBUGGERIText, offx, offy );
  2209. }
  2210.  
  2211. int OpenDEBUGGERWindow( void )
  2212. {
  2213.     struct NewGadget    ng;
  2214.     struct Gadget    *g;
  2215.     struct TagItem    *tmp;
  2216.     UWORD        lc, tc;
  2217.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2218.  
  2219.     if ( ! ( g = CreateContext( &DEBUGGERGList )))
  2220.         return( 1L );
  2221.  
  2222.     for( lc = 0, tc = 0; lc < DEBUGGER_CNT; lc++ ) {
  2223.  
  2224.         CopyMem((char * )&DEBUGGERNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2225.  
  2226.         ng.ng_VisualInfo = VisualInfo;
  2227.         ng.ng_TextAttr   = &topaz8;
  2228.         ng.ng_LeftEdge  += offx;
  2229.         ng.ng_TopEdge   += offy;
  2230.  
  2231.         DEBUGGERGadgets[ lc ] = g = CreateGadgetA((ULONG)DEBUGGERGTypes[ lc ], g, &ng, ( struct TagItem * )&DEBUGGERGTags[ tc ] );
  2232.  
  2233.         while( DEBUGGERGTags[ tc ] ) tc += 2;
  2234.         tc++;
  2235.  
  2236.         if ( NOT g )
  2237.             return( 2L );
  2238.     }
  2239.  
  2240.     if ( ! ( DEBUGGERWnd = OpenWindowTags( NULL,
  2241.                 WA_Left,    DEBUGGERLeft,
  2242.                 WA_Top,        DEBUGGERTop,
  2243.                 WA_Width,    DEBUGGERWidth,
  2244.                 WA_Height,    DEBUGGERHeight + offy,
  2245.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_GADGETDOWN|IDCMP_MOUSEMOVE|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2246.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2247.                 WA_Gadgets,    DEBUGGERGList,
  2248.                 WA_Title,    DEBUGGERWdt,
  2249.                 WA_PubScreen,    Scr,
  2250.                 TAG_DONE )))
  2251.     return( 4L );
  2252.  
  2253.     GT_RefreshWindow( DEBUGGERWnd, NULL );
  2254.  
  2255.     DEBUGGERRender();
  2256.  
  2257.     return( 0L );
  2258. }
  2259.  
  2260. void CloseDEBUGGERWindow( void )
  2261. {
  2262.     if ( DEBUGGERWnd        ) {
  2263.         CloseWindow( DEBUGGERWnd );
  2264.         DEBUGGERWnd = NULL;
  2265.     }
  2266.  
  2267.     if ( DEBUGGERGList      ) {
  2268.         FreeGadgets( DEBUGGERGList );
  2269.         DEBUGGERGList = NULL;
  2270.     }
  2271. }
  2272.  
  2273. void CPLUSPLUSRender( void )
  2274. {
  2275.     UWORD        offx, offy;
  2276.  
  2277.     offx = CPLUSPLUSWnd->BorderLeft;
  2278.     offy = CPLUSPLUSWnd->BorderTop;
  2279.  
  2280.     PrintIText( CPLUSPLUSWnd->RPort, CPLUSPLUSIText, offx, offy );
  2281. }
  2282.  
  2283. int OpenCPLUSPLUSWindow( void )
  2284. {
  2285.     struct NewGadget    ng;
  2286.     struct Gadget    *g;
  2287.     struct TagItem    *tmp;
  2288.     UWORD        lc, tc;
  2289.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2290.  
  2291.     if ( ! ( g = CreateContext( &CPLUSPLUSGList )))
  2292.         return( 1L );
  2293.  
  2294.     for( lc = 0, tc = 0; lc < CPLUSPLUS_CNT; lc++ ) {
  2295.  
  2296.         CopyMem((char * )&CPLUSPLUSNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2297.  
  2298.         ng.ng_VisualInfo = VisualInfo;
  2299.         ng.ng_TextAttr   = &topaz8;
  2300.         ng.ng_LeftEdge  += offx;
  2301.         ng.ng_TopEdge   += offy;
  2302.  
  2303.         CPLUSPLUSGadgets[ lc ] = g = CreateGadgetA((ULONG)CPLUSPLUSGTypes[ lc ], g, &ng, ( struct TagItem * )&CPLUSPLUSGTags[ tc ] );
  2304.  
  2305.         while( CPLUSPLUSGTags[ tc ] ) tc += 2;
  2306.         tc++;
  2307.  
  2308.         if ( NOT g )
  2309.             return( 2L );
  2310.     }
  2311.  
  2312.     if ( ! ( CPLUSPLUSWnd = OpenWindowTags( NULL,
  2313.                 WA_Left,    CPLUSPLUSLeft,
  2314.                 WA_Top,        CPLUSPLUSTop,
  2315.                 WA_Width,    CPLUSPLUSWidth,
  2316.                 WA_Height,    CPLUSPLUSHeight + offy,
  2317.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2318.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2319.                 WA_Gadgets,    CPLUSPLUSGList,
  2320.                 WA_Title,    CPLUSPLUSWdt,
  2321.                 WA_PubScreen,    Scr,
  2322.                 TAG_DONE )))
  2323.     return( 4L );
  2324.  
  2325.     GT_RefreshWindow( CPLUSPLUSWnd, NULL );
  2326.  
  2327.     CPLUSPLUSRender();
  2328.  
  2329.     return( 0L );
  2330. }
  2331.  
  2332. void CloseCPLUSPLUSWindow( void )
  2333. {
  2334.     if ( CPLUSPLUSWnd        ) {
  2335.         CloseWindow( CPLUSPLUSWnd );
  2336.         CPLUSPLUSWnd = NULL;
  2337.     }
  2338.  
  2339.     if ( CPLUSPLUSGList      ) {
  2340.         FreeGadgets( CPLUSPLUSGList );
  2341.         CPLUSPLUSGList = NULL;
  2342.     }
  2343. }
  2344.  
  2345. int OpenINLINEWindow( void )
  2346. {
  2347.     struct NewGadget    ng;
  2348.     struct Gadget    *g;
  2349.     struct TagItem    *tmp;
  2350.     UWORD        lc, tc;
  2351.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2352.  
  2353.     if ( ! ( g = CreateContext( &INLINEGList )))
  2354.         return( 1L );
  2355.  
  2356.     for( lc = 0, tc = 0; lc < INLINE_CNT; lc++ ) {
  2357.  
  2358.         CopyMem((char * )&INLINENGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2359.  
  2360.         ng.ng_VisualInfo = VisualInfo;
  2361.         ng.ng_TextAttr   = &topaz8;
  2362.         ng.ng_LeftEdge  += offx;
  2363.         ng.ng_TopEdge   += offy;
  2364.  
  2365.         INLINEGadgets[ lc ] = g = CreateGadgetA((ULONG)INLINEGTypes[ lc ], g, &ng, ( struct TagItem * )&INLINEGTags[ tc ] );
  2366.  
  2367.         while( INLINEGTags[ tc ] ) tc += 2;
  2368.         tc++;
  2369.  
  2370.         if ( NOT g )
  2371.             return( 2L );
  2372.     }
  2373.  
  2374.     if ( ! ( INLINEWnd = OpenWindowTags( NULL,
  2375.                 WA_Left,    INLINELeft,
  2376.                 WA_Top,        INLINETop,
  2377.                 WA_Width,    INLINEWidth,
  2378.                 WA_Height,    INLINEHeight + offy,
  2379.                 WA_IDCMP,    CYCLEIDCMP|BUTTONIDCMP|STRINGIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2380.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2381.                 WA_Gadgets,    INLINEGList,
  2382.                 WA_Title,    INLINEWdt,
  2383.                 WA_PubScreen,    Scr,
  2384.                 TAG_DONE )))
  2385.     return( 4L );
  2386.  
  2387.     GT_RefreshWindow( INLINEWnd, NULL );
  2388.  
  2389.     return( 0L );
  2390. }
  2391.  
  2392. void CloseINLINEWindow( void )
  2393. {
  2394.     if ( INLINEWnd        ) {
  2395.         CloseWindow( INLINEWnd );
  2396.         INLINEWnd = NULL;
  2397.     }
  2398.  
  2399.     if ( INLINEGList      ) {
  2400.         FreeGadgets( INLINEGList );
  2401.         INLINEGList = NULL;
  2402.     }
  2403. }
  2404.  
  2405. void DETAILSRender( void )
  2406. {
  2407.     UWORD        offx, offy;
  2408.  
  2409.     offx = DETAILSWnd->BorderLeft;
  2410.     offy = DETAILSWnd->BorderTop;
  2411.  
  2412.     PrintIText( DETAILSWnd->RPort, DETAILSIText, offx, offy );
  2413. }
  2414.  
  2415. int OpenDETAILSWindow( void )
  2416. {
  2417.     struct NewGadget    ng;
  2418.     struct Gadget    *g;
  2419.     struct TagItem    *tmp;
  2420.     UWORD        lc, tc;
  2421.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2422.  
  2423.     if ( ! ( g = CreateContext( &DETAILSGList )))
  2424.         return( 1L );
  2425.  
  2426.     for( lc = 0, tc = 0; lc < DETAILS_CNT; lc++ ) {
  2427.  
  2428.         CopyMem((char * )&DETAILSNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2429.  
  2430.         ng.ng_VisualInfo = VisualInfo;
  2431.         ng.ng_TextAttr   = &topaz8;
  2432.         ng.ng_LeftEdge  += offx;
  2433.         ng.ng_TopEdge   += offy;
  2434.  
  2435.         DETAILSGadgets[ lc ] = g = CreateGadgetA((ULONG)DETAILSGTypes[ lc ], g, &ng, ( struct TagItem * )&DETAILSGTags[ tc ] );
  2436.  
  2437.         while( DETAILSGTags[ tc ] ) tc += 2;
  2438.         tc++;
  2439.  
  2440.         if ( NOT g )
  2441.             return( 2L );
  2442.     }
  2443.  
  2444.     if ( ! ( DETAILSWnd = OpenWindowTags( NULL,
  2445.                 WA_Left,    DETAILSLeft,
  2446.                 WA_Top,        DETAILSTop,
  2447.                 WA_Width,    DETAILSWidth,
  2448.                 WA_Height,    DETAILSHeight + offy,
  2449.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2450.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2451.                 WA_Gadgets,    DETAILSGList,
  2452.                 WA_Title,    DETAILSWdt,
  2453.                 WA_PubScreen,    Scr,
  2454.                 TAG_DONE )))
  2455.     return( 4L );
  2456.  
  2457.     GT_RefreshWindow( DETAILSWnd, NULL );
  2458.  
  2459.     DETAILSRender();
  2460.  
  2461.     return( 0L );
  2462. }
  2463.  
  2464. void CloseDETAILSWindow( void )
  2465. {
  2466.     if ( DETAILSWnd        ) {
  2467.         CloseWindow( DETAILSWnd );
  2468.         DETAILSWnd = NULL;
  2469.     }
  2470.  
  2471.     if ( DETAILSGList      ) {
  2472.         FreeGadgets( DETAILSGList );
  2473.         DETAILSGList = NULL;
  2474.     }
  2475. }
  2476.  
  2477. int OpenPREPROCESSORWindow( void )
  2478. {
  2479.     struct NewGadget    ng;
  2480.     struct Gadget    *g;
  2481.     struct TagItem    *tmp;
  2482.     UWORD        lc, tc;
  2483.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2484.  
  2485.     if ( ! ( g = CreateContext( &PREPROCESSORGList )))
  2486.         return( 1L );
  2487.  
  2488.     for( lc = 0, tc = 0; lc < PREPROCESSOR_CNT; lc++ ) {
  2489.  
  2490.         CopyMem((char * )&PREPROCESSORNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2491.  
  2492.         ng.ng_VisualInfo = VisualInfo;
  2493.         ng.ng_TextAttr   = &topaz8;
  2494.         ng.ng_LeftEdge  += offx;
  2495.         ng.ng_TopEdge   += offy;
  2496.  
  2497.         if ( PREPROCESSORGTypes[ lc ] == LISTVIEW_KIND ) {
  2498.             if ( tmp = FindTagItem( GTLV_ShowSelected, ( struct TagItem * )&PREPROCESSORGTags[ tc ] )) {
  2499.                 if ( tmp->ti_Data ) tmp->ti_Data = (ULONG)g;
  2500.             }
  2501.         }
  2502.  
  2503.         PREPROCESSORGadgets[ lc ] = g = CreateGadgetA((ULONG)PREPROCESSORGTypes[ lc ], g, &ng, ( struct TagItem * )&PREPROCESSORGTags[ tc ] );
  2504.  
  2505.         while( PREPROCESSORGTags[ tc ] ) tc += 2;
  2506.         tc++;
  2507.  
  2508.         if ( NOT g )
  2509.             return( 2L );
  2510.     }
  2511.  
  2512.     if ( ! ( PREPROCESSORWnd = OpenWindowTags( NULL,
  2513.                 WA_Left,    PREPROCESSORLeft,
  2514.                 WA_Top,        PREPROCESSORTop,
  2515.                 WA_Width,    PREPROCESSORWidth,
  2516.                 WA_Height,    PREPROCESSORHeight + offy,
  2517.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|STRINGIDCMP|LISTVIEWIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2518.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2519.                 WA_Gadgets,    PREPROCESSORGList,
  2520.                 WA_Title,    PREPROCESSORWdt,
  2521.                 WA_PubScreen,    Scr,
  2522.                 TAG_DONE )))
  2523.     return( 4L );
  2524.  
  2525.     GT_RefreshWindow( PREPROCESSORWnd, NULL );
  2526.  
  2527.     return( 0L );
  2528. }
  2529.  
  2530. void ClosePREPROCESSORWindow( void )
  2531. {
  2532.     if ( PREPROCESSORWnd        ) {
  2533.         CloseWindow( PREPROCESSORWnd );
  2534.         PREPROCESSORWnd = NULL;
  2535.     }
  2536.  
  2537.     if ( PREPROCESSORGList      ) {
  2538.         FreeGadgets( PREPROCESSORGList );
  2539.         PREPROCESSORGList = NULL;
  2540.     }
  2541. }
  2542.  
  2543. void M68KRender( void )
  2544. {
  2545.     UWORD        offx, offy;
  2546.  
  2547.     offx = M68KWnd->BorderLeft;
  2548.     offy = M68KWnd->BorderTop;
  2549.  
  2550.     PrintIText( M68KWnd->RPort, M68KIText, offx, offy );
  2551. }
  2552.  
  2553. int OpenM68KWindow( void )
  2554. {
  2555.     struct NewGadget    ng;
  2556.     struct Gadget    *g;
  2557.     struct TagItem    *tmp;
  2558.     UWORD        lc, tc;
  2559.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  2560.  
  2561.     if ( ! ( g = CreateContext( &M68KGList )))
  2562.         return( 1L );
  2563.  
  2564.     for( lc = 0, tc = 0; lc < M68K_CNT; lc++ ) {
  2565.  
  2566.         CopyMem((char * )&M68KNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  2567.  
  2568.         ng.ng_VisualInfo = VisualInfo;
  2569.         ng.ng_TextAttr   = &topaz8;
  2570.         ng.ng_LeftEdge  += offx;
  2571.         ng.ng_TopEdge   += offy;
  2572.  
  2573.         M68KGadgets[ lc ] = g = CreateGadgetA((ULONG)M68KGTypes[ lc ], g, &ng, ( struct TagItem * )&M68KGTags[ tc ] );
  2574.  
  2575.         while( M68KGTags[ tc ] ) tc += 2;
  2576.         tc++;
  2577.  
  2578.         if ( NOT g )
  2579.             return( 2L );
  2580.     }
  2581.  
  2582.     if ( ! ( M68KWnd = OpenWindowTags( NULL,
  2583.                 WA_Left,    M68KLeft,
  2584.                 WA_Top,        M68KTop,
  2585.                 WA_Width,    M68KWidth,
  2586.                 WA_Height,    M68KHeight + offy,
  2587.                 WA_IDCMP,    BUTTONIDCMP|CYCLEIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  2588.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH,
  2589.                 WA_Gadgets,    M68KGList,
  2590.                 WA_Title,    M68KWdt,
  2591.                 WA_PubScreen,    Scr,
  2592.                 TAG_DONE )))
  2593.     return( 4L );
  2594.  
  2595.     GT_RefreshWindow( M68KWnd, NULL );
  2596.  
  2597.     M68KRender();
  2598.  
  2599.     return( 0L );
  2600. }
  2601.  
  2602. void CloseM68KWindow( void )
  2603. {
  2604.     if ( M68KWnd        ) {
  2605.         CloseWindow( M68KWnd );
  2606.         M68KWnd = NULL;
  2607.     }
  2608.  
  2609.     if ( M68KGList      ) {
  2610.         FreeGadgets( M68KGList );
  2611.         M68KGList = NULL;
  2612.     }
  2613. }
  2614.  
  2615.